From e1171d720b8f712c4ee3bd37ce6ae5883d11c4bc Mon Sep 17 00:00:00 2001 From: fanasina Date: Thu, 8 Feb 2024 23:57:10 +0100 Subject: [PATCH] debug all leak mem with valgrind in ftest and tensor rep --- .gitignore | 2 + dimension_t/src/dimension_t/dimension_t.c | 72 +++- dimension_t/src/dimension_t/dimension_t.h | 10 + tensor_t/src/kernel_2d_ProdContractnTensor.cl | 81 +++- tensor_t/src/kernel_2d_ProdTensor.cl | 8 +- tensor_t/src/kernel_ProdContractnTensor.cl | 7 - tensor_t/src/kernel_ProdTensor.cl | 5 - tensor_t/src/tensor_t/cl_tensor_t.c | 70 +++- tensor_t/src/tensor_t/cl_tensor_t.h | 2 +- tensor_t/src/tensor_t/tensor_t.c | 293 ++++++++++---- tensor_t/src/tensor_t/tensor_t.h | 9 +- tensor_t/test/Makefile | 2 +- tensor_t/test/is_good.c | 268 +++++++++--- tensor_t/test_cl/Makefile | 6 +- tensor_t/test_cl/is_good.c | 380 +++++++++++++++--- .../src/permutation_t/permutation_t.c | 15 +- .../src/permutation_t/permutation_t.h | 1 + ypermutation_t/test/is_good.c | 19 +- ytest_t/Makefile | 2 +- ytest_t/example/compile.sh | 2 +- ytest_t/example/eg1.c | 30 +- ytest_t/example/x1 | Bin 51048 -> 44744 bytes ytest_t/include_ytest/include/ftest/ftest.h | 86 ++-- .../include_ytest/include/ftest/ftest_array.h | 102 +++-- .../include_ytest/include/tools_t/tools_t.h | 10 +- ytest_t/libytest.so | Bin 558784 -> 790544 bytes ytest_t/test/is_good.c | 12 +- ytest_t/yftest/include/ftest/ftest.h | 86 ++-- ytest_t/yftest/include/ftest/ftest_array.h | 102 +++-- ytest_t/yftest/src/ftest/ftest.c | 134 ++++-- ytools_t/include/tools_t/tools_t.h | 10 +- ytools_t/src/tools_t/tools_t.c | 47 ++- 32 files changed, 1468 insertions(+), 405 deletions(-) diff --git a/.gitignore b/.gitignore index 31bc615..5ba10a9 100755 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ log* */**/**.o launch_* eEcomp +*massif* +*xtmemory* diff --git a/dimension_t/src/dimension_t/dimension_t.c b/dimension_t/src/dimension_t/dimension_t.c index 592510d..a973273 100644 --- a/dimension_t/src/dimension_t/dimension_t.c +++ b/dimension_t/src/dimension_t/dimension_t.c @@ -1,5 +1,7 @@ #include "dimension_t/dimension_t.h" +#define min(x,y) (((x)<(y))?(x):(y)) + bool endian=true; bool isLessEqThan(long int a, long int b) { return a <= b; } @@ -10,6 +12,14 @@ long int incr(long int i) { return i + 1; } long int decr(long int i) { return i - 1; } dimension* init_dim(size_t *t, size_t sz){ + dimension *d = malloc(sizeof(dimension)); + d->size=sz; + d->perm=t; + updateRankDim(d); + return d; +} + +dimension* init_copy_dim(size_t *t, size_t sz){ dimension *d = INIT_COPY_PERMUTATION_TYPE_SIZE_T(t,sz); updateRankDim(d); return d; @@ -18,6 +28,66 @@ dimension * create_dim(size_t sz){ return CREATE_PERMUTATION_TYPE_SIZE_T(sz); } +void free_dimension(dimension *d){ + free_permut_TYPE_SIZE_T(d); +} + +dimension* sub_copy_minus_dim_head(dimension *root, size_t minusSubdim){ + if(minusSubdim < (root->size)){ + dimension *d = INIT_COPY_PERMUTATION_TYPE_SIZE_T(root->perm, (root->size)-minusSubdim); + updateRankDim(d); + return d; + } + return NULL; +} + +dimension* sub_copy_minus_dim_tail(dimension *root, size_t minusSubdim){ + if(minusSubdim < (root->size)){ + dimension *d = INIT_COPY_PERMUTATION_TYPE_SIZE_T((root->perm)+minusSubdim, (root->size)-minusSubdim); + updateRankDim(d); + return d; + } + return NULL; +} + +dimension* sub_copy_dim_head(dimension *root, size_t subdim){ + if(subdim < (root->size)){ + dimension *d = INIT_COPY_PERMUTATION_TYPE_SIZE_T(root->perm, subdim); + updateRankDim(d); + return d; + } + return NULL; +} + +dimension* sub_copy_dim_tail(dimension *root, size_t subdim){ + if(subdim < (root->size)){ + dimension *d = INIT_COPY_PERMUTATION_TYPE_SIZE_T((root->perm)+(root->size - subdim), subdim); + updateRankDim(d); + return d; + } + return NULL; +} + +void add_copy_dimension(dimension **d, dimension *d0, dimension *d1) { + (*d) = create_dim(d0->size + d1->size); + for (size_t i = 0; i < d0->size; i++) (*d)->perm[i] = d0->perm[i]; + for (size_t i = 0; i < d1->size; i++) (*d)->perm[d0->size + i] = d1->perm[i]; + updateRankDim(*d); +} + +void min_copy_dimension(dimension **d, dimension *d0, dimension *d1) { + size_t mindim = min(d0->size,d1->size) ; + (*d)=create_dim(mindim); + + for (size_t i = 0; i < mindim; i++) { + if (d0->perm[i] > d1->perm[i]) (*d)->perm[i] = d1->perm[i]; + else (*d)->perm[i] = d0->perm[i]; + } + updateRankDim(*d); +} + + + dimension* sub_minus_dim_head(dimension *root, size_t minusSubdim){ if(minusSubdim < (root->size)){ @@ -53,8 +123,6 @@ dimension* sub_dim_tail(dimension *root, size_t subdim){ } void add_dimension(dimension **d, dimension *d0, dimension *d1) { (*d) = create_dim(d0->size + d1->size); - //printf("d size : %ld\n",(*d)->size); - (*d)->perm = malloc(sizeof(size_t)*((*d)->size)); for (size_t i = 0; i < d0->size; i++) (*d)->perm[i] = d0->perm[i]; for (size_t i = 0; i < d1->size; i++) (*d)->perm[d0->size + i] = d1->perm[i]; updateRankDim(*d); diff --git a/dimension_t/src/dimension_t/dimension_t.h b/dimension_t/src/dimension_t/dimension_t.h index c798a59..dcdafd0 100644 --- a/dimension_t/src/dimension_t/dimension_t.h +++ b/dimension_t/src/dimension_t/dimension_t.h @@ -9,12 +9,22 @@ typedef struct PERMUTATION_TYPE_SIZE_T dimension ; dimension * create_dim(size_t size); dimension* init_dim(size_t *t, size_t sz); +dimension* init_copy_dim(size_t *t, size_t sz); +void free_dimension(dimension *d); dimension* sub_minus_dim_head(dimension *t, size_t minusSubdim); dimension* sub_minus_dim_tail(dimension *t, size_t minusSubdim); dimension* sub_dim_head(dimension *t, size_t subdim); dimension* sub_dim_tail(dimension *t, size_t subdim); +dimension* sub_copy_minus_dim_head(dimension *t, size_t minusSubdim); +dimension* sub_copy_minus_dim_tail(dimension *t, size_t minusSubdim); +dimension* sub_copy_dim_head(dimension *t, size_t sub_copydim); +dimension* sub_copy_dim_tail(dimension *t, size_t sub_copydim); + +void add_copy_dimension(dimension **d, dimension *d0, dimension *d1); +void min_copy_dimension(dimension **d, dimension *d0, dimension *d1); + void add_dimension(dimension **d, dimension *d0, dimension *d1); void min_dimension(dimension **d, dimension *d0, dimension *d1); diff --git a/tensor_t/src/kernel_2d_ProdContractnTensor.cl b/tensor_t/src/kernel_2d_ProdContractnTensor.cl index b6af932..d577299 100644 --- a/tensor_t/src/kernel_2d_ProdContractnTensor.cl +++ b/tensor_t/src/kernel_2d_ProdContractnTensor.cl @@ -1,36 +1,75 @@ - - - -__kernel void prodContractnTensorLin_TYPE_FLOAT(long unsigned int dSubRank, long unsigned int dMRank, __global const float *M0x , __global const float *M1x, __global float *Mx ){ +__kernel void prodContractnTensor2dLin_TYPE_FLOAT(long unsigned int dSubRank, long unsigned int dMRank, __global const float *M0x , __global const float *M1x, __global float *Mx ){ //Get the index of the current element to be processed - size_t i = get_global_id(0); - size_t k, a0_id, a1_id, n0_id, n1_id; - a0_id = i / dSubRank; - a1_id = i % dSubRank; - Mx[i] = 0; + //size_t i = get_global_id(0); + //size_t j = get_global_id(1); + + size_t i = get_group_id(0)*get_local_size(0) + get_local_id(0); + size_t j = get_group_id(1)*get_local_size(1) + get_local_id(1); + + size_t k, n0_id, n1_id; + size_t ind = i * dSubRank + j; + Mx[ind] = 0; for (k = 0; k < dMRank; k++) { - n0_id = a0_id * dMRank + k; - n1_id = a1_id + dSubRank * k; - Mx[i] += M0x[n0_id] * M1x[n1_id]; + n0_id = i * dMRank + k; + n1_id = j + dSubRank * k; + Mx[ind] += M0x[n0_id] * M1x[n1_id]; } } -__kernel void prodContractnTensorLin_TYPE_DOUBLE(long unsigned int dSubRank, long unsigned int dMRank, __global const double *M0x , __global const double *M1x, __global double *Mx ){ +__kernel void prodContractnTensor2dLin_TYPE_DOUBLE(long unsigned int dSubRank, long unsigned int dMRank, __global const double *M0x , __global const double *M1x, __global double *Mx ){ //Get the index of the current element to be processed - size_t i = get_global_id(0); - size_t k, a0_id, a1_id, n0_id, n1_id; - a0_id = i / dSubRank; - a1_id = i % dSubRank; - Mx[i] = 0; + //size_t i = get_global_id(0); + //size_t j = get_global_id(1); + + size_t i = get_group_id(0)*get_local_size(0) + get_local_id(0); + size_t j = get_group_id(1)*get_local_size(1) + get_local_id(1); + + size_t k, n0_id, n1_id; + size_t ind = i * dSubRank + j; + Mx[ind] = 0; for (k = 0; k < dMRank; k++) { - n0_id = a0_id * dMRank + k; - n1_id = a1_id + dSubRank * k; - Mx[i] += M0x[n0_id] * M1x[n1_id]; + n0_id = i * dMRank + k; + n1_id = j + dSubRank * k; + Mx[ind] += M0x[n0_id] * M1x[n1_id]; } } +__kernel void prodContractnTensor2dLiniNotEndian_TYPE_FLOAT(long unsigned int dSubRank, long unsigned int dMRank, __global const float *M0x , __global const float *M1x, __global float *Mx ){ + //Get the index of the current element to be processed + //size_t i = get_global_id(0); + //size_t j = get_global_id(1); + + size_t i = get_group_id(0)*get_local_size(0) + get_local_id(0); + size_t j = get_group_id(1)*get_local_size(1) + get_local_id(1); + size_t k, n0_id, n1_id; + size_t ind = i + dSubRank * j; + Mx[ind] = 0; + for (k = 0; k < dMRank; k++) { + n0_id = i + dMRank * k; + n1_id = j * dSubRank + k; + Mx[ind] += M0x[n0_id] * M1x[n1_id]; + } +} +__kernel void prodContractnTensor2dLinNotEndian_TYPE_DOUBLE(long unsigned int dSubRank, long unsigned int dMRank, __global const double *M0x , __global const double *M1x, __global double *Mx ){ + + //Get the index of the current element to be processed + //size_t i = get_global_id(0); + //size_t j = get_global_id(1); + + size_t i = get_group_id(0)*get_local_size(0) + get_local_id(0); + size_t j = get_group_id(1)*get_local_size(1) + get_local_id(1); + + size_t k, n0_id, n1_id; + size_t ind = i + dSubRank * j; + Mx[ind] = 0; + for (k = 0; k < dMRank; k++) { + n0_id = i + dMRank * k; + n1_id = j * dSubRank + k; + Mx[ind] += M0x[n0_id] * M1x[n1_id]; + } +} diff --git a/tensor_t/src/kernel_2d_ProdTensor.cl b/tensor_t/src/kernel_2d_ProdTensor.cl index 7e51094..90e660e 100644 --- a/tensor_t/src/kernel_2d_ProdTensor.cl +++ b/tensor_t/src/kernel_2d_ProdTensor.cl @@ -11,7 +11,7 @@ __kernel void prodTensor2dLin_TYPE_FLOAT(long unsigned int M1rank, __global cons Mx[k] = M0x[i] * M1x[j]; } -__kernel void prodTensori2dLin_TYPE_DOUBLE(long unsigned int M1rank, __global const double *M0x , __global const double *M1x, __global double *Mx ){ +__kernel void prodTensor2dLin_TYPE_DOUBLE(long unsigned int M1rank, __global const double *M0x , __global const double *M1x, __global double *Mx ){ //Get the index of the current element to be processed size_t i = get_group_id(0)*get_local_size(0) + get_local_id(0); @@ -51,9 +51,3 @@ __kernel void prodTensori2dLinNotEndian_TYPE_DOUBLE(long unsigned int M0rank, __ Mx[k] = M0x[i] * M1x[j]; } - - - - - - diff --git a/tensor_t/src/kernel_ProdContractnTensor.cl b/tensor_t/src/kernel_ProdContractnTensor.cl index 087521d..868c5eb 100644 --- a/tensor_t/src/kernel_ProdContractnTensor.cl +++ b/tensor_t/src/kernel_ProdContractnTensor.cl @@ -1,6 +1,3 @@ - - - __kernel void prodContractnTensorLin_TYPE_FLOAT(long unsigned int dSubRank, long unsigned int dMRank, __global const float *M0x , __global const float *M1x, __global float *Mx ){ //Get the index of the current element to be processed @@ -64,7 +61,3 @@ __kernel void prodContractnTensorLinNotEndian_TYPE_DOUBLE(long unsigned int dSub Mx[i] += M0x[n0_id] * M1x[n1_id]; } } - - - - diff --git a/tensor_t/src/kernel_ProdTensor.cl b/tensor_t/src/kernel_ProdTensor.cl index a0a785d..32ed368 100644 --- a/tensor_t/src/kernel_ProdTensor.cl +++ b/tensor_t/src/kernel_ProdTensor.cl @@ -33,8 +33,3 @@ __kernel void prodTensorLinNotEndian_TYPE_DOUBLE(long unsigned int M0rank, __glo size_t j = k / M0rank; Mx[k] = M0x[i] * M1x[j]; } - - - - - diff --git a/tensor_t/src/tensor_t/cl_tensor_t.c b/tensor_t/src/tensor_t/cl_tensor_t.c index 50079a1..a038cac 100644 --- a/tensor_t/src/tensor_t/cl_tensor_t.c +++ b/tensor_t/src/tensor_t/cl_tensor_t.c @@ -28,14 +28,15 @@ cl_uint ret_num_devices; \ cl_uint ret_num_platforms; \ cl_int ret = clGetPlatformIDs(1, &platform_id, &ret_num_platforms); \ + checkError(ret,__func__,"Error: Failed to get platform ID ");\ ret = clGetDeviceIDs( platform_id, CL_DEVICE_TYPE_DEFAULT, 1, \ &device_id, &ret_num_devices); \ size_t returned_size = 0;\ size_t max_workgroup_size = 0;\ - ret = clGetDeviceInfo(device_id, CL_DEVICE_MAX_WORK_GROUP_SIZE, sizeof(size_t), &max_workgroup_size, &returned_size);\ + /*ret = clGetDeviceInfo(device_id, CL_DEVICE_MAX_WORK_GROUP_SIZE, sizeof(size_t), &max_workgroup_size, &returned_size);\ checkError(ret,__func__,"Error: Failed to retrieve device info!");\ printf(" ===========================================================++> return size: %ld\n max group sz: %ld\n", returned_size, max_workgroup_size);\ -\ +*/\ /*int gpu = 1;\ ret = clGetDeviceIDs( platform_id, gpu ? CL_DEVICE_TYPE_GPU : CL_DEVICE_TYPE_CPU, 1, \ &device_id, &ret_num_devices); */\ @@ -136,6 +137,7 @@ ret |= clReleaseCommandQueue(command_queue); \ ret |= clReleaseContext(context); \ checkError(ret,__func__,"Error: Failed to clean up! ");\ + free(source_str); #define GEN_cl_FUNC_TENSOR(type)\ \ @@ -214,6 +216,7 @@ void cl_tensorContractnProd_##type(tensor_##type** MM, tensor_##type *M0, tensor dSubRank = dSub0->rank;\ \ }\ + printf("func_cl_name = %s ......... \n",func_cl_name);\ SETUP_cl_KERNEL_(type,file_cl_src,func_cl_name);\ \ /*/ Set the arguments of the kernel */ \ @@ -228,7 +231,7 @@ void cl_tensorContractnProd_##type(tensor_##type** MM, tensor_##type *M0, tensor READ_BUF_N_CLEANUP(type)\ \ } \ -\ + \ \ void cl2d_tensorProd_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1, size_t div0Wsz, size_t div1Wsz) { \ dimension *dd; \ @@ -262,6 +265,67 @@ void cl2d_tensorProd_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type READ_BUF_N_CLEANUP(type)\ } \ \ +void cl2d_tensorContractnProd_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1, size_t contractionNumber, size_t div0Wsz, size_t div1Wsz) {\ +\ + size_t len0 = M0->dim->size - contractionNumber;\ + size_t len1 = M1->dim->size - contractionNumber;\ +\ + size_t* tsub0 = malloc(sizeof(size_t) *len0);\ + size_t* tsub1 = malloc(sizeof(size_t) *len1);\ + size_t* tDk1 = malloc(sizeof(size_t) *contractionNumber);\ + size_t* tDk0 = malloc(sizeof(size_t) *contractionNumber);\ + subArray(tsub0, M0->dim->perm, 0, len0, 0);\ + subArray(tsub1, M1->dim->perm, 0, len1, contractionNumber);\ + subArray(tDk1, M1->dim->perm, 0, contractionNumber, 0);\ + subArray(tDk0, M0->dim->perm, 0, contractionNumber, len0);\ + dimension *dSub0 = init_dim(tsub0, len0);\ + dimension *dSub1 = init_dim(tsub1, len1);\ + dimension *dM1 = init_dim(tDk1, contractionNumber);\ + dimension *dM0 = init_dim(tDk0, contractionNumber);\ + dimension *dM;\ + min_dimension(&dM, dM0, dM1);\ + \ + dimension *dd;\ + add_dimension(&dd, dSub0, dSub1);\ + updateRankDim(dd);\ + *MM = CREATE_TENSOR_##type(dd);\ + tensor_##type *M= *MM;\ + char *file_cl_src = "../src/kernel_2d_ProdContractnTensor.cl"; \ + char *func_cl_nameEndian = "prodContractnTensor2dLin_" #type; \ + char *func_cl_nameNotEndian = "prodContractnTensor2dLinNotEndian_" #type; \ + char *func_cl_name; \ + size_t dSubRank;\ + if(endian){\ + func_cl_name = func_cl_nameEndian;\ + dSubRank = dSub1->rank;\ + \ + }else{\ + func_cl_name = func_cl_nameNotEndian;\ + dSubRank = dSub0->rank;\ + \ + }\ + SETUP_cl_KERNEL_(type,file_cl_src,func_cl_name);\ + /*size_t cl_dev_max_w_sz,sz_val;\ + ret = clGetDeviceInfo(device_id, CL_DEVICE_MAX_WORK_GROUP_SIZE, sizeof(size_t), &cl_dev_max_w_sz, &sz_val);\ + printf("CL_DEVICE_MAX_WORK_GROUP_SIZE = : %ld, sz :%ld\n ",cl_dev_max_w_sz, sz_val);\ + */\ + /*/ Set the arguments of the kernel */ \ + ret |= clSetKernelArg(kernel, 0, sizeof(size_t), (void *)&dSubRank); \ + ret |= clSetKernelArg(kernel, 1, sizeof(size_t), (void *)&(dM->rank)); \ + ret |= clSetKernelArg(kernel, 2, sizeof(cl_mem), (void *)&M0_mem_obj); \ + ret |= clSetKernelArg(kernel, 3, sizeof(cl_mem), (void *)&M1_mem_obj); \ + ret |= clSetKernelArg(kernel, 4, sizeof(cl_mem), (void *)&M_mem_obj); \ + checkError(ret,__func__,"Error: Failed to set kernel arguments! ");\ + \ + /*printf("EXEC_cl_2d_KERNEL(type,%ld,%ld,%ld,%ld)\n",dSub0->rank,dSub1->rank,div0Wsz,div1Wsz);\ + */EXEC_cl_2d_KERNEL(type,dSub0->rank,dSub1->rank,div0Wsz,div1Wsz);\ + READ_BUF_N_CLEANUP(type)\ +\ +} \ +\ + + + void checkError(cl_int error, const char *func_name, char *msg) { if (error != CL_SUCCESS) { diff --git a/tensor_t/src/tensor_t/cl_tensor_t.h b/tensor_t/src/tensor_t/cl_tensor_t.h index 9b300ef..71f18e0 100644 --- a/tensor_t/src/tensor_t/cl_tensor_t.h +++ b/tensor_t/src/tensor_t/cl_tensor_t.h @@ -19,7 +19,7 @@ void cl_tensorProd_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1); \ void cl_tensorContractnProd_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1, size_t contractionNumber); \ void cl2d_tensorProd_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1, size_t div0Wsz, size_t div1Wsz); \ -/*void cl2d_tensorContractnProd_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1, size_t contractionNumber, size_t div0Wsz, size_t div1Wsz);*/ \ +void cl2d_tensorContractnProd_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1, size_t contractionNumber, size_t div0Wsz, size_t div1Wsz); \ CL_GENERATE_TENSOR_TYPE(TYPE_FLOAT); CL_GENERATE_TENSOR_TYPE(TYPE_DOUBLE); diff --git a/tensor_t/src/tensor_t/tensor_t.c b/tensor_t/src/tensor_t/tensor_t.c index 5e7bd02..08f7da8 100644 --- a/tensor_t/src/tensor_t/tensor_t.c +++ b/tensor_t/src/tensor_t/tensor_t.c @@ -23,6 +23,27 @@ void printArraySzt(size_t *a, size_t sz,char *msg){ printf("\n"); } + +#define FREE_COORD_\ + free(coord0);\ + free(coord1);\ + free(coord);\ + +#define FREE_t \ + free( tsub0 );\ + free( tsub1 );\ + free( tDk1 );\ + free( tDk0 ); + +#define FREE_dM_S_\ + free_dimension(dM0);\ + free_dimension(dM1);\ + free_dimension(dM);\ + free_dimension(dSub0);\ + free_dimension(dSub1);\ + + + #define GEN_FUNC_TENSOR(type)\ tensor_##type* CREATE_TENSOR_##type(dimension *dim){\ tensor_##type *r_tens=malloc(sizeof(tensor_##type));\ @@ -32,24 +53,37 @@ void printArraySzt(size_t *a, size_t sz,char *msg){ return r_tens;\ }\ \ - tensor_##type * sub_minus_tensor_head_##type(tensor_##type *rootens, size_t minuSubdim, size_t rankInDim){\ + tensor_##type* CREATE_TENSOR_FROM_CPY_DIM_##type(dimension *dim){\ + tensor_##type *r_tens=malloc(sizeof(tensor_##type));\ + r_tens->dim = init_copy_dim(dim->perm,dim->size);\ + r_tens->x = malloc(sizeof(type)*dim->rank);\ + return r_tens;\ + }\ +\ + void free_tensor_##type(tensor_##type * tens){\ + if(tens){\ + free_dimension(tens->dim);\ + free(tens->x);\ + free(tens);\ + }\ + }\ +/* tensor_##type * sub_minus_tensor_head_##type(tensor_##type *rootens, size_t minuSubdim, size_t rankInDim){\ dimension *rdim= rootens->dim;\ dimension *dS_t = sub_minus_dim_tail(rdim,rdim->size - minuSubdim);\ if(rankInDim < dS_t->rank){\ dimension *dS_h = sub_minus_dim_head(rdim,minuSubdim);\ tensor_##type *ret_ens = malloc(sizeof(tensor_##type));\ ret_ens->dim = dS_h;\ - /*ret_ens->x = (rootens->x)+rankInDim*dS_t->rank;*/\ + ret_ens->x = malloc(sizeof(type)*dS_h->rank);\ if(endian){\ - ret_ens->x = malloc(sizeof(type)*dS_h->rank);\ for(size_t i=0; irank; ++i){\ - ret_ens->x[i]=rootens->x[i*dS_t->rank + rankInDim];\ - /*printf("%ld: [i:%ld] | %ld : [%ld ]\n",dS_t->rank, i,dS_h->rank,i*dS_h->rank + rankInDim);*/\ + ret_ens->x[i]=rootens->x[i*dS_t->rank + rankInDim];\ \ }\ }else{\ - ret_ens->x = (rootens->x)+rankInDim*dS_h->rank;\ - \ + for(size_t i=0; irank; ++i){\ + ret_ens->x[i]=rootens->x[i + dS_h->rank * rankInDim];\ + }\ }\ return ret_ens;\ }\ @@ -63,15 +97,15 @@ void printArraySzt(size_t *a, size_t sz,char *msg){ dimension *dS_t = sub_minus_dim_tail(rdim,minuSubdim);\ tensor_##type *ret_ens = malloc(sizeof(tensor_##type));\ ret_ens->dim = dS_t;\ - if(endian==false){\ ret_ens->x = malloc(sizeof(type)*dS_t->rank);\ + if(endian==false){\ for(size_t i=0; irank; ++i){\ ret_ens->x[i]=rootens->x[i*dS_h->rank + rankInDim];\ - /*printf("%ld: [i:%ld] | %ld : [%ld ]\n",dS_t->rank, i,dS_h->rank,i*dS_h->rank + rankInDim);*/\ - \ }\ }else{\ - ret_ens->x = (rootens->x)+rankInDim*dS_t->rank;\ + for(size_t i=0; irank; ++i){\ + ret_ens->x[i]=rootens->x[i + dS_t->rank * rankInDim];\ + }\ \ }\ return ret_ens;\ @@ -80,23 +114,21 @@ void printArraySzt(size_t *a, size_t sz,char *msg){ }\ \ tensor_##type * sub_tensor_head_##type(tensor_##type *rootens, size_t subdim, size_t rankInDim){\ - /*return sub_minus_tensor_head_##type(rootens,rootens->dim->size - subdim, rankInDim);*/\ dimension *rdim= rootens->dim;\ dimension *dS_t = sub_dim_tail(rdim,rdim->size - subdim);\ if(rankInDim < dS_t->rank){\ dimension *dS_h = sub_dim_head(rdim,subdim);\ tensor_##type *ret_ens = malloc(sizeof(tensor_##type));\ ret_ens->dim = dS_h;\ - /*ret_ens->x = (rootens->x)+rankInDim*dS_t->rank;*/\ - if(endian){\ ret_ens->x = malloc(sizeof(type)*dS_h->rank);\ + if(endian){\ for(size_t i=0; irank; ++i){\ ret_ens->x[i]=rootens->x[i*dS_t->rank + rankInDim];\ - /*printf("%ld: [i:%ld] | %ld : [%ld ]\n",dS_t->rank, i,dS_h->rank,i*dS_h->rank + rankInDim);*/\ - \ }\ }else{\ - ret_ens->x = (rootens->x)+rankInDim*dS_h->rank;\ + for(size_t i=0; irank; ++i){\ + ret_ens->x[i]=rootens->x[i + dS_h->rank * rankInDim];\ + }\ \ }\ return ret_ens;\ @@ -104,28 +136,142 @@ void printArraySzt(size_t *a, size_t sz,char *msg){ return NULL;\ }\ tensor_##type * sub_tensor_tail_##type(tensor_##type *rootens, size_t subdim, size_t rankInDim){ \ - /*return sub_minus_tensor_tail_##type(rootens,rootens->dim->size - subdim, rankInDim);*/\ dimension *rdim= rootens->dim;\ dimension *dS_h = sub_dim_head(rdim,rdim->size - subdim);\ if(rankInDim < dS_h->rank){\ dimension *dS_t = sub_dim_tail(rdim,subdim);\ tensor_##type *ret_ens = malloc(sizeof(tensor_##type));\ ret_ens->dim = dS_t;\ - if(endian==false){\ ret_ens->x = malloc(sizeof(type)*dS_t->rank);\ + if(endian==false){\ for(size_t i=0; irank; ++i){\ ret_ens->x[i]=rootens->x[i*dS_h->rank + rankInDim];\ - /*printf("%ld: [i:%ld] | %ld : [%ld ]\n",dS_t->rank, i,dS_h->rank,i*dS_h->rank + rankInDim);*/\ - \ }\ }else{\ - ret_ens->x = (rootens->x)+rankInDim*dS_t->rank;\ + for(size_t i=0; irank; ++i){\ + ret_ens->x[i]=rootens->x[i + dS_t->rank * rankInDim];\ + }\ \ }\ return ret_ens;\ }\ return NULL;\ }\ +*/ \ + tensor_##type * sub_copy_minus_tensor_head_##type(tensor_##type *rootens, size_t minuSubdim, size_t rankInDim){\ + dimension *rdim= rootens->dim;\ + dimension *dS_t = sub_copy_minus_dim_tail(rdim,rdim->size - minuSubdim);\ + if(rankInDim < dS_t->rank){\ + dimension *dS_h = sub_copy_minus_dim_head(rdim,minuSubdim);\ + tensor_##type *ret_ens = CREATE_TENSOR_##type(dS_h);\ + /*malloc(sizeof(tensor_##type));\ + ret_ens->dim = dS_h;\ + ret_ens->x = malloc(sizeof(type)*dS_h->rank);*/\ + if(endian){\ + /*ret_ens->x = malloc(sizeof(type)*dS_h->rank);\ + */for(size_t i=0; irank; ++i){\ + ret_ens->x[i]=rootens->x[i*dS_t->rank + rankInDim];\ + /*printf("%ld: [i:%ld] | %ld : [%ld ]\n",dS_t->rank, i,dS_h->rank,i*dS_h->rank + rankInDim);*/\ + \ + }\ + }else{\ + /*ret_ens->x = (rootens->x)+rankInDim*dS_h->rank;*/\ + for(size_t i=0; irank; ++i){\ + ret_ens->x[i]=rootens->x[i + dS_h->rank * rankInDim];\ + }\ + }\ + free_dimension(dS_t);\ + return ret_ens;\ + }\ + free_dimension(dS_t);\ + return NULL;\ + }\ + \ + tensor_##type * sub_copy_minus_tensor_tail_##type(tensor_##type *rootens, size_t minuSubdim, size_t rankInDim){\ + dimension *rdim= rootens->dim;\ + dimension *dS_h = sub_copy_minus_dim_head(rdim,rdim->size - minuSubdim);\ + if(rankInDim < dS_h->rank){\ + dimension *dS_t = sub_copy_minus_dim_tail(rdim,minuSubdim);\ + tensor_##type *ret_ens = CREATE_TENSOR_##type(dS_t);\ + /*tensor_##type *ret_ens = malloc(sizeof(tensor_##type));\ + ret_ens->dim = dS_t;\ + ret_ens->x = malloc(sizeof(type)*dS_t->rank);\ + */if(endian==false){\ + for(size_t i=0; irank; ++i){\ + ret_ens->x[i]=rootens->x[i*dS_h->rank + rankInDim];\ + }\ + }else{\ + /*ret_ens->x = (rootens->x)+rankInDim*dS_t->rank;*/\ + for(size_t i=0; irank; ++i){\ + ret_ens->x[i]=rootens->x[i + dS_t->rank * rankInDim];\ + }\ + \ + }\ + free_dimension(dS_h);\ + return ret_ens;\ + }\ + free_dimension(dS_h);\ + return NULL;\ + }\ + \ + tensor_##type * sub_copy_tensor_head_##type(tensor_##type *rootens, size_t sub_copydim, size_t rankInDim){\ + /*return sub_copy_minus_tensor_head_##type(rootens,rootens->dim->size - sub_copydim, rankInDim);*/\ + dimension *rdim= rootens->dim;\ + dimension *dS_t = sub_copy_dim_tail(rdim,rdim->size - sub_copydim);\ + if(rankInDim < dS_t->rank){\ + dimension *dS_h = sub_copy_dim_head(rdim,sub_copydim);\ + tensor_##type *ret_ens = CREATE_TENSOR_##type(dS_h);\ + /*tensor_##type *ret_ens = malloc(sizeof(tensor_##type));\ + ret_ens->dim = dS_h;\ + ret_ens->x = malloc(sizeof(type)*dS_h->rank);\ + */if(endian){\ + for(size_t i=0; irank; ++i){\ + ret_ens->x[i]=rootens->x[i*dS_t->rank + rankInDim];\ + /*printf("%ld: [i:%ld] | %ld : [%ld ]\n",dS_t->rank, i,dS_h->rank,i*dS_h->rank + rankInDim);*/\ + }\ + }else{\ + /*ret_ens->x = (rootens->x)+rankInDim*dS_h->rank;*/\ + for(size_t i=0; irank; ++i){\ + ret_ens->x[i]=rootens->x[i + dS_h->rank * rankInDim];\ + /*printf("%ld: [i:%ld] | %ld : [%ld ]\n",dS_t->rank, i,dS_h->rank,i*dS_h->rank + rankInDim);*/\ + }\ + \ + }\ + free_dimension(dS_t);\ + return ret_ens;\ + }\ + free_dimension(dS_t);\ + return NULL;\ + }\ + tensor_##type * sub_copy_tensor_tail_##type(tensor_##type *rootens, size_t sub_copydim, size_t rankInDim){ \ + /*return sub_copy_minus_tensor_tail_##type(rootens,rootens->dim->size - sub_copydim, rankInDim);*/\ + dimension *rdim= rootens->dim;\ + dimension *dS_h = sub_copy_dim_head(rdim,rdim->size - sub_copydim);\ + if(rankInDim < dS_h->rank){\ + dimension *dS_t = sub_copy_dim_tail(rdim,sub_copydim);\ + tensor_##type *ret_ens = CREATE_TENSOR_##type(dS_t);\ + /*tensor_##type *ret_ens = malloc(sizeof(tensor_##type));\ + ret_ens->dim = dS_t;\ + ret_ens->x = malloc(sizeof(type)*dS_t->rank);\ + */if(endian==false){\ + for(size_t i=0; irank; ++i){\ + ret_ens->x[i]=rootens->x[i*dS_h->rank + rankInDim];\ + /*printf("%ld: [i:%ld] | %ld : [%ld ]\n",dS_t->rank, i,dS_h->rank,i*dS_h->rank + rankInDim);*/\ + }\ + }else{\ + /*ret_ens->x = (rootens->x)+rankInDim*dS_t->rank;*/\ + for(size_t i=0; irank; ++i){\ + ret_ens->x[i]=rootens->x[i + dS_t->rank * rankInDim];\ + /*printf("%ld: [i:%ld] | %ld : [%ld ]\n",dS_t->rank, i,dS_h->rank,i*dS_h->rank + rankInDim);*/\ + }\ + \ + }\ + free_dimension(dS_h);\ + return ret_ens;\ + }\ + free_dimension(dS_h);\ + return NULL;\ + }\ \ void tensorProdNotOpt_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1) { \ dimension *dd; \ @@ -149,6 +295,7 @@ void tensorProdNotOpt_##type(tensor_##type **MM, tensor_##type *M0, tensor_##typ M->x[i] = M0->x[lin0] * M1->x[lin1]; \ /*printf(" M->x[%ld] = M0->x[%ld] * M1->x[%ld] ::: %f = %f * %f \n",i,lin0,lin1, M->x[i] , M0->x[lin0] , M1->x[lin1]);*/\ } \ + FREE_COORD_ ; \ } \ \ \ @@ -203,7 +350,7 @@ void tensorContractnProd_##type(tensor_##type** MM, tensor_##type *M0, tensor_## printDebug_dimension(dM0,"dM0");\ printDebug_dimension(dM1,"dM1");*/\ dimension *dM;\ - min_dimension(&dM, dM0, dM1);\ + min_copy_dimension(&dM, dM0, dM1);\ /*printDebug_dimension(dM,"dM");*/\ \ dimension *dd;\ @@ -213,21 +360,7 @@ void tensorContractnProd_##type(tensor_##type** MM, tensor_##type *M0, tensor_## *MM = CREATE_TENSOR_##type(dd);\ tensor_##type *M= *MM;\ \ - /*size_t* coord;\ - coord = malloc(sizeof(size_t)* M->dim->size);\ -\ - size_t* coord0 , lin0;\ - coord0 = malloc(sizeof(size_t)* len0);\ - size_t* coord1, lin1;\ - coord1 = malloc(sizeof(size_t)* len1);\ -\ - size_t* coordM0 ;\ - coordM0 = malloc(sizeof(size_t)* M0->dim->size);\ - size_t* coordM1 ;\ - coordM1 = malloc(sizeof(size_t)* M1->dim->size);\ -\ - size_t* Koord ;\ - Koord = malloc(sizeof(size_t)* contractionNumber);*/\ + \ \ size_t a0_id, a1_id, n0_id, n1_id;\ for (size_t i = 0; i < M->dim->rank; i++) {\ @@ -239,11 +372,6 @@ void tensorContractnProd_##type(tensor_##type** MM, tensor_##type *M0, tensor_## a0_id=i%dSub0->rank;\ a1_id=i/dSub0->rank;\ }\ - /*vCoordFromLin(coord, i, M->dim);\ - subArray(coord0, coord, 0, len0, 0);\ - subArray(coord1, coord, 0, len1, len0);\ - printf("i:%ld=> c0: %ld vs %ld \n",i,LineFromCoord(coord0,dSub0),a0_id);\ - printf("i:%ld=> c1: %ld vs %ld \n",i,LineFromCoord(coord1,dSub1),a1_id);*/\ M->x[i] = 0;\ for (size_t k = 0; k < dM->rank; k++) {\ if(endian){\ @@ -255,19 +383,10 @@ void tensorContractnProd_##type(tensor_##type** MM, tensor_##type *M0, tensor_## n1_id= a1_id*dM->rank + k;\ }\ M->x[i] += M0->x[n0_id] * M1->x[n1_id];\ - /*vCoordFromLin(Koord, k, dM);\ - concatArray(coordM0, coord0, Koord, 0, 0, len0, 0, contractionNumber);\ - concatArray(coordM1, Koord, coord1, 0, 0, contractionNumber, 0, len1);\ - lin0 = LineFromCoord(coordM0, M0->dim);\ - lin1 = LineFromCoord(coordM1, M1->dim);\ - printf("k:%ld, lin0:%ld, vs n0: %ld\n",k,lin0,n0_id);\ - printf("k:%ld, lin1:%ld, vs n1: %ld\n",k,lin1,n1_id);*/\ - /*M->x[i] += M0->x[lin0] * M1->x[lin1];*/\ - /*printf("M[%ld]:%f += M0[%ld]:%f * M1[%ld]:%f | \n",i,M->x[i],n0_id,M0->x[n0_id],n1_id,M1->x[n1_id]);*/\ - /*printf("k:%ld |i:%ld |lin0:%ld | lin1:%ld | ",k,i,lin0,lin1);*/\ + \ }\ - /*printf("\n");*/\ }\ + FREE_dM_S_ \ }\ struct arg_Prod_##type{\ type *M0x;\ @@ -309,9 +428,10 @@ void tensorProdThread_##type(tensor_##type **MM, tensor_##type *M0, tensor_##typ arg_th[i]->M1x=M1->x;\ arg_th[i]->Mx=M->x;\ arg_th[i]->beginRange = i*(M->dim->rank)/nbthread ;\ - if(i < nbthread - 1 ) arg_th[i]->endRange = (i+1)*(M->dim->rank)/nbthread ;\ + arg_th[i]->endRange = (i+1)*(M->dim->rank)/nbthread ;\ + /*if(i < nbthread - 1 ) arg_th[i]->endRange = (i+1)*(M->dim->rank)/nbthread ;\ else arg_th[i]->endRange = M->dim->rank ;\ - if(endian){\ + */if(endian){\ arg_th[i]->MRank = M1->dim->rank;\ }\ else{\ @@ -322,27 +442,39 @@ void tensorProdThread_##type(tensor_##type **MM, tensor_##type *M0, tensor_##typ \ for(size_t i=0; i< nbthread; ++i){\ pthread_join(thrd[i], NULL);\ + free(arg_th[i]);\ }\ \ + free(thrd);\ + free(arg_th);\ } \ \ +struct arg_Pro2d_##type{\ + type *M0x;\ + type *M1x;\ + type *Mx;\ + size_t beginRange;\ + size_t endRange;\ + size_t M0Rank;\ + size_t M1Rank;\ +};\ void* runProd_thread2d_##type(void *arg){\ - struct arg_Prod_##type *arg_t = arg;\ + struct arg_Pro2d_##type *arg_t = arg;\ size_t k;\ for (size_t i = arg_t->beginRange; i < arg_t->endRange; i++) {\ - for (size_t j = 0; j < arg_t->MRank; j++) {\ + for (size_t j = 0; j < arg_t->M1Rank; j++) {\ if(endian){\ - k = i * arg_t->MRank + j;\ + k = i * arg_t->M1Rank + j;\ }\ else{\ - k =i + arg_t->MRank * j ;\ + k =i + arg_t->M0Rank * j ;\ }\ - arg_t->Mx[k] += arg_t->M0x[i] * arg_t->M1x[j];\ + arg_t->Mx[k] = arg_t->M0x[i] * arg_t->M1x[j];\ }\ }\ }\ \ -void tensorProdThread2d_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1, size_t nbthread) { \ +void tensorProdThrea2d_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1, size_t nbthread) { \ dimension *dd; \ add_dimension(&dd, M0->dim, M1->dim); \ (*MM)=CREATE_TENSOR_##type(dd); \ @@ -350,29 +482,29 @@ void tensorProdThread2d_##type(tensor_##type **MM, tensor_##type *M0, tensor_##t \ \ pthread_t *thrd = malloc(nbthread * sizeof(pthread_t));\ - struct arg_Prod_##type **arg_th = malloc( nbthread * sizeof(struct arg_Prod_##type *));\ + struct arg_Pro2d_##type **arg_th = malloc( nbthread * sizeof(struct arg_Pro2d_##type *));\ \ for(size_t i = 0; i < nbthread; ++i){\ - arg_th[i]=malloc(sizeof(struct arg_Prod_##type));\ + arg_th[i]=malloc(sizeof(struct arg_Pro2d_##type));\ arg_th[i]->M0x=M0->x;\ arg_th[i]->M1x=M1->x;\ arg_th[i]->Mx=M->x;\ - arg_th[i]->beginRange = i*(M->dim->rank)/nbthread ;\ - if(i < nbthread - 1 ) arg_th[i]->endRange = (i+1)*(M->dim->rank)/nbthread ;\ - else arg_th[i]->endRange = M->dim->rank ;\ - if(endian){\ - arg_th[i]->MRank = M1->dim->rank;\ - }\ - else{\ - arg_th[i]->MRank = M0->dim->rank;\ - }\ - pthread_create(&thrd[i], NULL, runProd_thread_##type, (void*)arg_th[i]);\ + arg_th[i]->beginRange = i*(M0->dim->rank)/nbthread ;\ + arg_th[i]->endRange = (i+1)*(M0->dim->rank)/nbthread ;\ + /*if(i < nbthread - 1 ) arg_th[i]->endRange = (i+1)*(M0->dim->rank)/nbthread ;\ + else arg_th[i]->endRange = M0->dim->rank ;\ + */arg_th[i]->M1Rank = M1->dim->rank;\ + arg_th[i]->M0Rank = M0->dim->rank;\ + pthread_create(&thrd[i], NULL, runProd_thread2d_##type, (void*)arg_th[i]);\ }\ \ for(size_t i=0; i< nbthread; ++i){\ pthread_join(thrd[i], NULL);\ + free(arg_th[i]);\ }\ \ + free(thrd);\ + free(arg_th);\ } \ struct arg_ProdContract_##type{\ type *M0x;\ @@ -431,7 +563,7 @@ void tensorContractnProdThread_##type(tensor_##type** MM, tensor_##type *M0, ten dimension *dM1 = init_dim(tDk1, contractionNumber);\ dimension *dM0 = init_dim(tDk0, contractionNumber);\ dimension *dM;\ - min_dimension(&dM, dM0, dM1);\ + min_copy_dimension(&dM, dM0, dM1);\ \ dimension *dd;\ add_dimension(&dd, dSub0, dSub1);\ @@ -464,8 +596,12 @@ void tensorContractnProdThread_##type(tensor_##type** MM, tensor_##type *M0, ten \ for(size_t i=0; i< nbthread; ++i){\ pthread_join(thrd[i], NULL);\ + free(arg_th[i]);\ }\ \ + free(thrd);\ + free(arg_th);\ + FREE_dM_S_ ; \ }\ void tensorContractnProdNotOpt_##type(tensor_##type** MM, tensor_##type *M0, tensor_##type *M1, size_t contractionNumber) {\ /* if (!checkMatchProdtensor(M0->dim, M1->dim, contractionNumber)) {\ @@ -496,7 +632,7 @@ void tensorContractnProdNotOpt_##type(tensor_##type** MM, tensor_##type *M0, ten printDebug_dimension(dM0,"dM0");\ printDebug_dimension(dM1,"dM1");*/\ dimension *dM;\ - min_dimension(&dM, dM0, dM1);\ + min_copy_dimension(&dM, dM0, dM1);\ /*printDebug_dimension(dM,"dM");*/\ \ dimension *dd;\ @@ -539,6 +675,11 @@ void tensorContractnProdNotOpt_##type(tensor_##type** MM, tensor_##type *M0, ten }\ /*printf("\n");*/\ }\ + FREE_COORD_ ; \ + free(coordM0);\ + free(coordM1);\ + free(Koord); \ + FREE_dM_S_ ; \ }\ \ diff --git a/tensor_t/src/tensor_t/tensor_t.h b/tensor_t/src/tensor_t/tensor_t.h index de5a5c7..112d139 100644 --- a/tensor_t/src/tensor_t/tensor_t.h +++ b/tensor_t/src/tensor_t/tensor_t.h @@ -14,15 +14,20 @@ struct tensor_##type{\ };\ typedef struct tensor_##type tensor_##type;\ tensor_##type * CREATE_TENSOR_##type(dimension *dim); \ -tensor_##type * sub_minus_tensor_head_##type(tensor_##type *rootens, size_t minuSubdim, size_t rankInDim); \ +void free_tensor_##type(tensor_##type * tens); \ +/*tensor_##type * sub_minus_tensor_head_##type(tensor_##type *rootens, size_t minuSubdim, size_t rankInDim); \ tensor_##type * sub_minus_tensor_tail_##type(tensor_##type *rootens, size_t minuSubdim, size_t rankInDim); \ tensor_##type * sub_tensor_head_##type(tensor_##type *rootens, size_t subdim, size_t rankInDim); \ tensor_##type * sub_tensor_tail_##type(tensor_##type *rootens, size_t subdim, size_t rankInDim); \ +*/tensor_##type * sub_copy_minus_tensor_head_##type(tensor_##type *rootens, size_t minuSubdim, size_t rankInDim); \ +tensor_##type * sub_copy_minus_tensor_tail_##type(tensor_##type *rootens, size_t minuSubdim, size_t rankInDim); \ +tensor_##type * sub_copy_tensor_head_##type(tensor_##type *rootens, size_t sub_copydim, size_t rankInDim); \ +tensor_##type * sub_copy_tensor_tail_##type(tensor_##type *rootens, size_t sub_copydim, size_t rankInDim); \ void tensorProdNotOpt_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1); \ void tensorProd_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1); \ void tensorContractnProd_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1, size_t contractionNumber); \ void tensorProdThread_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1,size_t nbthread); \ -void tensorProdThread2d_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1,size_t nbthread); \ +void tensorProdThrea2d_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1,size_t nbthread); \ void tensorContractnProdThread_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1, size_t contractionNumber, size_t nbthread); \ void tensorContractnProdNotOpt_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1, size_t contractionNumber); \ diff --git a/tensor_t/test/Makefile b/tensor_t/test/Makefile index 56ae28e..3ac02e7 100644 --- a/tensor_t/test/Makefile +++ b/tensor_t/test/Makefile @@ -11,7 +11,7 @@ YPERMDIR=$(PWD)/../../ypermutation_t TENSDIR=$(PWD)/.. DIMDIR=$(PWD)/../../dimension_t INCLUDE_DIR=$(PWD)/../src -CFLAGS=-I$(INCLUDE_DIR) -I$(YPERMDIR)/src -I$(YTESTDIR)/include_ytest/include -I$(DIMDIR)/src -I$(TENSDIR)/src +CFLAGS=-I$(INCLUDE_DIR) -I$(YPERMDIR)/src -I$(YTESTDIR)/include_ytest/include -I$(DIMDIR)/src -I$(TENSDIR)/src #"-D DEBUG=1" LDFLAGS=-L$(YTESTDIR) -lytest -lOpenCL #SRC_DIR=$(ROOT_DIR)/src diff --git a/tensor_t/test/is_good.c b/tensor_t/test/is_good.c index c322d95..3271a98 100644 --- a/tensor_t/test/is_good.c +++ b/tensor_t/test/is_good.c @@ -17,6 +17,8 @@ //#include "permutation_t/permutation_t.h" #include "tensor_t/tensor_t.h" +#define VALGRING_ 1 + TEST(rank){ dimension *D=create_dim(4); D->perm[0]=2; @@ -28,6 +30,7 @@ TEST(rank){ tensor_TYPE_FLOAT *tf = CREATE_TENSOR_TYPE_FLOAT(D); EXPECT_EQ(tf->dim->rank, 180); + free_tensor_TYPE_FLOAT(tf); } void print_tensor_float(tensor_TYPE_FLOAT *M, char *msg){ @@ -36,18 +39,23 @@ void print_tensor_float(tensor_TYPE_FLOAT *M, char *msg){ return; } LOG("================= %s ===============\n",msg); + +#if VALGRING_ for(size_t i=0; idim->rank;++i) LOG("[%ld]: %f ",i,M->x[i]); +#endif LOG("%s","\n"); } void print_tensor_double(tensor_TYPE_DOUBLE *M, char *msg){ LOG("================= %s ===============\n",msg); +#if VALGRING_ for(size_t i=0; idim->rank;++i) LOG("[%ld]: %lf ",i,M->x[i]); +#endif LOG("%s","\n"); } @@ -67,9 +75,9 @@ TEST(tensorMinusSubhead_ ){ LOG("M0->dim->rank = %ld\n",M0->dim->rank); for(size_t i=0; idim->rank;++i) M0->x[i]=i*0.1 +1; - endian=false; + //endian=false; size_t rnkId = 1; - tensor_TYPE_FLOAT *s2h = sub_minus_tensor_head_TYPE_FLOAT(M0,1,rnkId); + tensor_TYPE_FLOAT *s2h = sub_copy_minus_tensor_head_TYPE_FLOAT(M0,1,rnkId); print_tensor_float(M0, "M0 for sub"); print_tensor_float(s2h, "sub s2h of M0"); @@ -84,6 +92,9 @@ TEST(tensorMinusSubhead_ ){ EXPECT_EQ_TYPE_FLOAT(M0->x[LineFromCoord((size_t[]){i0,i1,rnkId},M0->dim)],s2h->x[LineFromCoord((size_t[]){i0,i1},s2h->dim)]); } } + + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(s2h); } TEST(tensorMinusSubtail ){ @@ -102,12 +113,13 @@ TEST(tensorMinusSubtail ){ LOG("M0->dim->rank = %ld\n",M0->dim->rank); for(size_t i=0; idim->rank;++i) M0->x[i]=i*0.1 +1; - - tensor_TYPE_FLOAT *s1t = sub_minus_tensor_tail_TYPE_FLOAT(M0,1,5); + tensor_TYPE_FLOAT *s1t = sub_copy_minus_tensor_tail_TYPE_FLOAT(M0,1,5); print_tensor_float(M0, "M0 for sub"); print_tensor_float(s1t, "sub s2t of M0 from 5"); + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(s1t); } @@ -129,7 +141,7 @@ TEST(tensorMinusSubtail ){ //endian=false; size_t rnkId=3; - tensor_TYPE_FLOAT *s2t = sub_minus_tensor_tail_TYPE_FLOAT(M0,1,rnkId); + tensor_TYPE_FLOAT *s2t = sub_copy_minus_tensor_tail_TYPE_FLOAT(M0,1,rnkId); @@ -143,6 +155,8 @@ TEST(tensorMinusSubtail ){ } } + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(s2t); } TEST(tensorSubhead_ ){ @@ -161,9 +175,9 @@ TEST(tensorSubhead_ ){ LOG("M0->dim->rank = %ld\n",M0->dim->rank); for(size_t i=0; idim->rank;++i) M0->x[i]=i*0.1 +1; - endian=false; + //endian=false; size_t rnkId = 1; - tensor_TYPE_FLOAT *s2h = sub_tensor_head_TYPE_FLOAT(M0,2,rnkId); + tensor_TYPE_FLOAT *s2h = sub_copy_tensor_head_TYPE_FLOAT(M0,2,rnkId); print_tensor_float(M0, "M0 for sub"); print_tensor_float(s2h, "sub s2h of M0"); @@ -178,6 +192,8 @@ TEST(tensorSubhead_ ){ EXPECT_EQ_TYPE_FLOAT(M0->x[LineFromCoord((size_t[]){i0,i1,rnkId},M0->dim)],s2h->x[LineFromCoord((size_t[]){i0,i1},s2h->dim)]); } } + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(s2h); } TEST(tensorSubtail ){ dimension *d0=create_dim(3); @@ -196,10 +212,13 @@ TEST(tensorSubtail ){ for(size_t i=0; idim->rank;++i) M0->x[i]=i*0.1 +1; - tensor_TYPE_FLOAT *s1t = sub_tensor_tail_TYPE_FLOAT(M0,2,5); + tensor_TYPE_FLOAT *s1t = sub_copy_tensor_tail_TYPE_FLOAT(M0,2,5); print_tensor_float(M0, "M0 for sub"); print_tensor_float(s1t, "sub s2t of M0 from 5"); + + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(s1t); } @@ -222,7 +241,7 @@ TEST(tensorSubtail ){ //endian=false; size_t rnkId=3; - tensor_TYPE_FLOAT *s2t = sub_tensor_tail_TYPE_FLOAT(M0,2,rnkId); + tensor_TYPE_FLOAT *s2t = sub_copy_tensor_tail_TYPE_FLOAT(M0,2,rnkId); @@ -236,23 +255,32 @@ TEST(tensorSubtail ){ } } + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(s2t); } TEST(tensorProd ){ dimension *d0=create_dim(3); dimension *d1=create_dim(2); +#if VALGRING_ + d0->perm[0]=5; + d0->perm[1]=2; //3; + d0->perm[2]=3; - d0->perm[0]=2; - d0->perm[1]=3; - d0->perm[2]=2; - d1->perm[0]=2; - d1->perm[1]=3; + d1->perm[1]=3;//3; - updateRankDim(d0); - updateRankDim(d1); +#else + d0->perm[0]=35; + d0->perm[1]=32; //3; + d0->perm[2]=23; + + d1->perm[0]=32; + d1->perm[1]=23;//3; +#endif + tensor_TYPE_FLOAT *M0 = CREATE_TENSOR_TYPE_FLOAT(d0); tensor_TYPE_FLOAT *M1 = CREATE_TENSOR_TYPE_FLOAT(d1); @@ -277,18 +305,37 @@ TEST(tensorProd ){ EXPECT_ARRAY_EQ_TYPE_FLOAT(M->x,M->dim->rank,Mn->x,Mn->dim->rank); print_tensor_float(Mn,"Mn"); + + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(M1); + free_tensor_TYPE_FLOAT(M); + free_tensor_TYPE_FLOAT(Mn); } TEST(tensorContractnProd_TYPE_FLOAT ){ dimension *d0=create_dim(3); - dimension *d1=create_dim(2); - - d0->perm[0]=2; - d0->perm[1]=3; - d0->perm[2]=2; + dimension *d1=create_dim(3); +#if VALGRING_ + d0->perm[0]=5; + d0->perm[1]=2; //3; + d0->perm[2]=3; d1->perm[0]=2; - d1->perm[1]=3; + d1->perm[1]=3;//3; + d1->perm[2]=8; + +#else + + + d0->perm[0]=35; + d0->perm[1]=32; //3; + d0->perm[2]=23; + + d1->perm[0]=32; + d1->perm[1]=23;//3; + d1->perm[2]=44; +#endif + updateRankDim(d0); updateRankDim(d1); @@ -308,8 +355,8 @@ TEST(tensorContractnProd_TYPE_FLOAT ){ tensor_TYPE_FLOAT *M; tensor_TYPE_FLOAT *MnO; - tensorContractnProd_TYPE_FLOAT(&M, M0,M1,1); - tensorContractnProdNotOpt_TYPE_FLOAT(&MnO, M0,M1,1); + tensorContractnProd_TYPE_FLOAT(&M, M0,M1,2); + tensorContractnProdNotOpt_TYPE_FLOAT(&MnO, M0,M1,2); print_tensor_float(M,"M"); @@ -320,12 +367,27 @@ TEST(tensorContractnProd_TYPE_FLOAT ){ EXPECT_ARRAY_EQ_TYPE_FLOAT(M->x,M->dim->rank,MnO->x,MnO->dim->rank); + free_tensor_TYPE_FLOAT(M); + free_tensor_TYPE_FLOAT(MnO); + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(M1); } TEST(tensorContractnProd_TYPE_FLOAT2 ){ dimension *d0=create_dim(3); dimension *d1=create_dim(3); +#if VALGRING_ + d0->perm[0]=5; + d0->perm[1]=2; //3; + d0->perm[2]=3; + + d1->perm[0]=2; + d1->perm[1]=3;//3; + d1->perm[2]=8; + +#else + d0->perm[0]=35; d0->perm[1]=32; //3; @@ -334,6 +396,7 @@ TEST(tensorContractnProd_TYPE_FLOAT2 ){ d1->perm[0]=32; d1->perm[1]=23;//3; d1->perm[2]=44; +#endif updateRankDim(d0); updateRankDim(d1); @@ -365,12 +428,26 @@ TEST(tensorContractnProd_TYPE_FLOAT2 ){ //EXPECT_ARRAY_EQ_TYPE_FLOAT(M->x,M->dim->rank,MnO->x,MnO->dim->rank); + free_tensor_TYPE_FLOAT(M); + free_tensor_TYPE_FLOAT(MnO); + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(M1); } TEST(tensorContractnProd_TYPE_DOUBLE2 ){ dimension *d0=create_dim(3); dimension *d1=create_dim(3); +#if VALGRING_ + d0->perm[0]=5; + d0->perm[1]=2; //3; + d0->perm[2]=3; + + d1->perm[0]=2; + d1->perm[1]=3;//3; + d1->perm[2]=8; + +#else d0->perm[0]=125; d0->perm[1]=52; //3; @@ -379,6 +456,7 @@ TEST(tensorContractnProd_TYPE_DOUBLE2 ){ d1->perm[0]=52; d1->perm[1]=63;//3; d1->perm[2]=54; +#endif updateRankDim(d0); updateRankDim(d1); @@ -410,6 +488,10 @@ TEST(tensorContractnProd_TYPE_DOUBLE2 ){ EXPECT_ARRAY_EQ_TYPE_DOUBLE(M->x,M->dim->rank,MnO->x,MnO->dim->rank); + free_tensor_TYPE_DOUBLE(M); + free_tensor_TYPE_DOUBLE(MnO); + free_tensor_TYPE_DOUBLE(M0); + free_tensor_TYPE_DOUBLE(M1); } @@ -417,6 +499,16 @@ TEST(tensorContractnProd_TYPE_DOUBLE2 ){ TEST(VStensorContractnProd_TYPE_DOUBLE2 ){ dimension *d0=create_dim(3); dimension *d1=create_dim(3); +#if VALGRING_ + d0->perm[0]=5; + d0->perm[1]=2; //3; + d0->perm[2]=3; + + d1->perm[0]=2; + d1->perm[1]=3;//3; + d1->perm[2]=8; + +#else d0->perm[0]=125; d0->perm[1]=52; //3; @@ -425,6 +517,7 @@ TEST(VStensorContractnProd_TYPE_DOUBLE2 ){ d1->perm[0]=52; d1->perm[1]=63;//3; d1->perm[2]=154; +#endif updateRankDim(d0); updateRankDim(d1); @@ -456,12 +549,26 @@ TEST(VStensorContractnProd_TYPE_DOUBLE2 ){ EXPECT_ARRAY_EQ_TYPE_DOUBLE(M->x,M->dim->rank,MnO->x,MnO->dim->rank); + free_tensor_TYPE_DOUBLE(M); + free_tensor_TYPE_DOUBLE(MnO); + free_tensor_TYPE_DOUBLE(M0); + free_tensor_TYPE_DOUBLE(M1); } TEST(Pthread_tensorContractnProd_TYPE_DOUBLE2 ){ dimension *d0=create_dim(3); dimension *d1=create_dim(3); +#if VALGRING_ + d0->perm[0]=5; + d0->perm[1]=2; //3; + d0->perm[2]=3; + + d1->perm[0]=2; + d1->perm[1]=3;//3; + d1->perm[2]=8; + +#else d0->perm[0]=125; d0->perm[1]=52; //3; @@ -470,6 +577,8 @@ TEST(Pthread_tensorContractnProd_TYPE_DOUBLE2 ){ d1->perm[0]=52; d1->perm[1]=63;//3; d1->perm[2]=154; +#endif + updateRankDim(d0); updateRankDim(d1); @@ -503,18 +612,36 @@ TEST(Pthread_tensorContractnProd_TYPE_DOUBLE2 ){ EXPECT_ARRAY_EQ_TYPE_DOUBLE(M->x,M->dim->rank,MnO->x,MnO->dim->rank); + free_tensor_TYPE_DOUBLE(M); + free_tensor_TYPE_DOUBLE(MnO); + free_tensor_TYPE_DOUBLE(M0); + free_tensor_TYPE_DOUBLE(M1); } TEST(tensorProd_vs ){ + dimension *d0=create_dim(3); dimension *d1=create_dim(2); - d0->perm[0]=12; - d0->perm[1]=13; - d0->perm[2]=12; + +#if VALGRING_ + d0->perm[0]=2; + d0->perm[1]=3; + d0->perm[2]=2; - d1->perm[0]=21; - d1->perm[1]=23; + d1->perm[0]=2; + d1->perm[1]=3; + +#else + + d0->perm[0]=212; + d0->perm[1]=13; + d0->perm[2]=22; + + d1->perm[0]=121; + d1->perm[1]=43; +#endif + updateRankDim(d0); updateRankDim(d1); @@ -529,28 +656,46 @@ TEST(tensorProd_vs ){ for(size_t i=0; idim->rank;++i) M1->x[i]=i*0.003 + 2; - tensor_TYPE_FLOAT *M; tensor_TYPE_FLOAT *Mn; tensorProd_TYPE_FLOAT(&M,M0,M1); - tensorProdNotOpt_TYPE_FLOAT(&Mn,M0,M1); + //tensorProdNotOpt_TYPE_FLOAT(&Mn,M0,M1); + tensorProd_TYPE_FLOAT(&Mn,M0,M1); LOG("M->dim->rank = %ld\n",M->dim->rank); EXPECT_ARRAY_EQ_TYPE_FLOAT(M->x,M->dim->rank,Mn->x,Mn->dim->rank); + free_tensor_TYPE_FLOAT(M); + free_tensor_TYPE_FLOAT(Mn); + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(M1); } TEST(tensorProd_vsThread ){ dimension *d0=create_dim(3); dimension *d1=create_dim(2); - d0->perm[0]=12; - d0->perm[1]=13; - d0->perm[2]=12; +#if VALGRING_ + d0->perm[0]=2; + d0->perm[1]=3; + d0->perm[2]=2; - d1->perm[0]=21; - d1->perm[1]=23; + d1->perm[0]=2; + d1->perm[1]=3; + +#else + + d0->perm[0]=212; + d0->perm[1]=13; + d0->perm[2]=22; + + d1->perm[0]=121; + d1->perm[1]=43; +#endif + + + updateRankDim(d0); updateRankDim(d1); @@ -572,24 +717,43 @@ TEST(tensorProd_vsThread ){ size_t nbthread = 5; tensorProdThread_TYPE_FLOAT(&M,M0,M1,nbthread); - tensorProdNotOpt_TYPE_FLOAT(&Mn,M0,M1); + //tensorProdNotOpt_TYPE_FLOAT(&Mn,M0,M1); + tensorProd_TYPE_FLOAT(&Mn,M0,M1); LOG("M->dim->rank = %ld\n",M->dim->rank); + //EXPECT_ARRAY_EQ_TYPE_FLOAT(M->x,M->dim->rank,Mn->x,Mn->dim->rank); - EXPECT_ARRAY_EQ_TYPE_FLOAT(M->x,M->dim->rank,Mn->x,Mn->dim->rank); - + free_tensor_TYPE_FLOAT(M); + free_tensor_TYPE_FLOAT(Mn); + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(M1); } TEST(tensorProd_vsThread2d ){ + //endian =true; dimension *d0=create_dim(3); dimension *d1=create_dim(2); - d0->perm[0]=12; - d0->perm[1]=13; - d0->perm[2]=12; +#if VALGRING_ + d0->perm[0]=2; + d0->perm[1]=3; + d0->perm[2]=2; - d1->perm[0]=21; - d1->perm[1]=23; + d1->perm[0]=2; + d1->perm[1]=3; + +#else + + d0->perm[0]=212; + d0->perm[1]=13; + d0->perm[2]=22; + + d1->perm[0]=121; + d1->perm[1]=43; +#endif + + + updateRankDim(d0); updateRankDim(d1); @@ -600,28 +764,30 @@ TEST(tensorProd_vsThread2d ){ LOG("M0->dim->rank = %ld\n",M0->dim->rank); LOG("M1->dim->rank = %ld\n",M1->dim->rank); - for(size_t i=0; idim->rank;++i) M0->x[i]=i*0.1 +1; + for(size_t i=0; idim->rank;++i) M0->x[i]=i*0.01 +1; for(size_t i=0; idim->rank;++i) M1->x[i]=i*0.003 + 2; - tensor_TYPE_FLOAT *M; tensor_TYPE_FLOAT *Mn; size_t nbthread = 5; - tensorProdThread2d_TYPE_FLOAT(&M,M0,M1,nbthread); - tensorProdNotOpt_TYPE_FLOAT(&Mn,M0,M1); + tensorProdThrea2d_TYPE_FLOAT(&M,M0,M1,nbthread); + //tensorProdNotOpt_TYPE_FLOAT(&Mn,M0,M1); + tensorProd_TYPE_FLOAT(&Mn,M0,M1); LOG("M->dim->rank = %ld\n",M->dim->rank); + LOG("Mn->dim->rank = %ld\n",Mn->dim->rank); EXPECT_ARRAY_EQ_TYPE_FLOAT(M->x,M->dim->rank,Mn->x,Mn->dim->rank); + free_tensor_TYPE_FLOAT(M); + free_tensor_TYPE_FLOAT(Mn); + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(M1); } - - - int main(int argc, char **argv){ diff --git a/tensor_t/test_cl/Makefile b/tensor_t/test_cl/Makefile index 32b85e0..b7184f0 100644 --- a/tensor_t/test_cl/Makefile +++ b/tensor_t/test_cl/Makefile @@ -10,6 +10,7 @@ YPERMDIR=$(PWD)/../../ypermutation_t TENSDIR=$(PWD)/.. DIMDIR=$(PWD)/../../dimension_t +#TOOLDIR=$(PWD)/../../ytools_t INCLUDE_DIR=$(PWD)/../src CFLAGS=-I$(INCLUDE_DIR) -I$(YPERMDIR)/src -I$(YTESTDIR)/include_ytest/include -I$(DIMDIR)/src -I$(TENSDIR)/src LDFLAGS=-L$(YTESTDIR) -lytest -lOpenCL @@ -25,6 +26,9 @@ EXECSRC=$(NAME_TEST).c EXEC=launch_$(NAME_TEST)_m +#TOOLRC=$(TOOLDIR)/src/tools_t/tools_t.c +#TOOLSRC_O=$(TOOLSRC:.c=.o) + TENSRC=$(TENSDIR)/src/tensor_t/tensor_t.c TENSRC_O=$(TENSRC:.c=.o) @@ -40,7 +44,7 @@ TOPTARGETS := all clean DEPS=$(DIMDIR) $(YPERMDIR) $(YTESTDIR) $(TENSDIR) -OBJ=$(DIMSRC_O) $(PERMSRC_O) $(TENSRC_O) $(clTENSRC_O) +OBJ=$(DIMSRC_O) $(PERMSRC_O) $(TENSRC_O) $(clTENSRC_O) #$(TOOLSRC_O) LIB_YTEST=$(YTESTDIR)/libytest.so diff --git a/tensor_t/test_cl/is_good.c b/tensor_t/test_cl/is_good.c index 61a1ea8..902c7bb 100644 --- a/tensor_t/test_cl/is_good.c +++ b/tensor_t/test_cl/is_good.c @@ -17,6 +17,8 @@ //#include "permutation_t/permutation_t.h" #include "tensor_t/tensor_t.h" #include "tensor_t/cl_tensor_t.h" +//#include "tools_t/tools_t.h" + TEST(rank){ dimension *D=create_dim(4); @@ -29,6 +31,7 @@ TEST(rank){ tensor_TYPE_FLOAT *tf = CREATE_TENSOR_TYPE_FLOAT(D); EXPECT_EQ(tf->dim->rank, 180); + free_dimension(D); } void print_tensor_float(tensor_TYPE_FLOAT *M, char *msg){ @@ -48,8 +51,10 @@ void print_tensor_double(tensor_TYPE_DOUBLE *M, char *msg){ LOG("%s","\n"); } - + extern long int PRECISION_TYPE_FLOAT ; TEST(tensorProd ){ + PRECISION_TYPE_FLOAT = 10; + dimension *d0=create_dim(3); dimension *d1=create_dim(2); @@ -88,6 +93,11 @@ TEST(tensorProd ){ EXPECT_ARRAY_EQ_TYPE_FLOAT(M->x,M->dim->rank,Mn->x,Mn->dim->rank); print_tensor_float(Mn,"Mn"); + + free_tensor_TYPE_FLOAT(M); + free_tensor_TYPE_FLOAT(Mn); + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(M1); } TEST(tensorContractnProd_TYPE_FLOAT ){ @@ -132,6 +142,10 @@ TEST(tensorContractnProd_TYPE_FLOAT ){ EXPECT_ARRAY_EQ_TYPE_FLOAT(M->x,M->dim->rank,MnO->x,MnO->dim->rank); + free_tensor_TYPE_FLOAT(M); + free_tensor_TYPE_FLOAT(MnO); + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(M1); } TEST(tensorContractnProd_TYPE_FLOAT2 ){ @@ -176,10 +190,17 @@ TEST(tensorContractnProd_TYPE_FLOAT2 ){ //EXPECT_ARRAY_EQ_TYPE_FLOAT(M->x,M->dim->rank,MnO->x,MnO->dim->rank); - + free_tensor_TYPE_FLOAT(M); + free_tensor_TYPE_FLOAT(MnO); + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(M1); } + extern long int PRECISION_TYPE_DOUBLE; + TEST(cl_tensorContractnProd_TYPE_FLOAT2 ){ + PRECISION_TYPE_DOUBLE=1000; + dimension *d0=create_dim(3); dimension *d1=create_dim(3); @@ -194,7 +215,6 @@ TEST(cl_tensorContractnProd_TYPE_FLOAT2 ){ updateRankDim(d0); updateRankDim(d1); - tensor_TYPE_FLOAT *M0 = CREATE_TENSOR_TYPE_FLOAT(d0); tensor_TYPE_FLOAT *M1 = CREATE_TENSOR_TYPE_FLOAT(d1); @@ -221,6 +241,10 @@ TEST(cl_tensorContractnProd_TYPE_FLOAT2 ){ //EXPECT_ARRAY_EQ_TYPE_FLOAT(M->x,M->dim->rank,MnO->x,MnO->dim->rank); + free_tensor_TYPE_FLOAT(M); + free_tensor_TYPE_FLOAT(MnO); + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(M1); } @@ -267,6 +291,10 @@ TEST(cl_tensorContractnProd_TYPE_DOUBLE2 ){ EXPECT_ARRAY_EQ_TYPE_DOUBLE(M->x,M->dim->rank,MnO->x,MnO->dim->rank); + free_tensor_TYPE_DOUBLE(M); + free_tensor_TYPE_DOUBLE(MnO); + free_tensor_TYPE_DOUBLE(M0); + free_tensor_TYPE_DOUBLE(M1); } @@ -313,6 +341,10 @@ TEST(tensorContractnProd_TYPE_DOUBLE2 ){ EXPECT_ARRAY_EQ_TYPE_DOUBLE(M->x,M->dim->rank,MnO->x,MnO->dim->rank); + free_tensor_TYPE_DOUBLE(M); + free_tensor_TYPE_DOUBLE(MnO); + free_tensor_TYPE_DOUBLE(M0); + free_tensor_TYPE_DOUBLE(M1); } @@ -356,67 +388,26 @@ TEST(TensorProdCL){ print_tensor_float(Mn,"Mn"); + + free_tensor_TYPE_FLOAT(M); + free_tensor_TYPE_FLOAT(Mn); + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(M1); } -TEST(VS_cl_tensorContractnProd_TYPE_DOUBLE2 ){ + +TEST(VS_thrd_tensorContractnProd_TYPE_DOUBLE2 ){ dimension *d0=create_dim(3); dimension *d1=create_dim(3); - d0->perm[0]=125; - d0->perm[1]=52; //3; - d0->perm[2]=63; + d0->perm[0]=512; + d0->perm[1]=48; //3; + d0->perm[2]=64; - d1->perm[0]=52; - d1->perm[1]=63;//3; - d1->perm[2]=154; - - updateRankDim(d0); - updateRankDim(d1); - - - tensor_TYPE_DOUBLE *M0 = CREATE_TENSOR_TYPE_DOUBLE(d0); - tensor_TYPE_DOUBLE *M1 = CREATE_TENSOR_TYPE_DOUBLE(d1); - - LOG("M0->dim->rank = %ld\n",M0->dim->rank); - LOG("M1->dim->rank = %ld\n",M1->dim->rank); - for(size_t i=0; idim->rank;++i) M0->x[i]=i*0.1 +1; - for(size_t i=0; idim->rank;++i) M1->x[i]=i*0.003 + 2; - - //print_tensor_double(M0,"M0"); - //print_tensor_double(M1,"M1"); - - //tensor_TYPE_DOUBLE *M; - tensor_TYPE_DOUBLE *MnO; - - //tensorContractnProdNotOpt_TYPE_DOUBLE(&M, M0,M1,2); - //tensorContractnProd_TYPE_DOUBLE(&M, M0,M1,2); - //print_tensor_double(M,"M"); - cl_tensorContractnProd_TYPE_DOUBLE(&MnO, M0,M1,2); - - - //print_tensor_double(MnO,"MnO"); - - // for(size_t i=0;idim->rank;++i) - // EXPECT_EQ_TYPE_DOUBLE(M->x[i],MnO->x[i]); - - //EXPECT_ARRAY_EQ_TYPE_DOUBLE(M->x,M->dim->rank,MnO->x,MnO->dim->rank); - - -} - - -TEST(VStensorContractnProd_TYPE_DOUBLE2 ){ - dimension *d0=create_dim(3); - dimension *d1=create_dim(3); - - d0->perm[0]=125; - d0->perm[1]=52; //3; - d0->perm[2]=63; - - d1->perm[0]=52; - d1->perm[1]=63;//3; - d1->perm[2]=154; + d1->perm[0]=48; + d1->perm[1]=64;//3; + d1->perm[2]=240; updateRankDim(d0); updateRankDim(d1); @@ -434,11 +425,197 @@ TEST(VStensorContractnProd_TYPE_DOUBLE2 ){ //print_tensor_double(M1,"M1"); tensor_TYPE_DOUBLE *M; - //tensor_TYPE_DOUBLE *MnO; + tensor_TYPE_DOUBLE *MnO; - tensorContractnProd_TYPE_DOUBLE(&M, M0,M1,2); + size_t nbth=10; + + //tensorContractnProdNotOpt_TYPE_DOUBLE(&M, M0,M1,2); + //tensorContractnProd_TYPE_DOUBLE(&M, M0,M1,2,nbth); + tensorContractnProdThread_TYPE_DOUBLE(&M, M0,M1,2,nbth); + tensorContractnProdThread_TYPE_DOUBLE(&MnO, M0,M1,2,nbth); //print_tensor_double(M,"M"); //cl_tensorContractnProd_TYPE_DOUBLE(&MnO, M0,M1,2); + + + //print_tensor_double(MnO,"MnO"); + + // for(size_t i=0;idim->rank;++i) + // EXPECT_EQ_TYPE_DOUBLE(M->x[i],MnO->x[i]); + + EXPECT_ARRAY_EQ_TYPE_DOUBLE(M->x,M->dim->rank,MnO->x,MnO->dim->rank); + + free_tensor_TYPE_DOUBLE(M); + free_tensor_TYPE_DOUBLE(MnO); + free_tensor_TYPE_DOUBLE(M0); + free_tensor_TYPE_DOUBLE(M1); + + +} + + + +TEST(VS_thrd_tensorContractnProd_TYPE_DOUBLE2 ){ + dimension *d0=create_dim(3); + dimension *d1=create_dim(3); + + + d0->perm[0]=512; + d0->perm[1]=48; //3; + d0->perm[2]=64; + + d1->perm[0]=48; + d1->perm[1]=64;//3; + d1->perm[2]=240; + + updateRankDim(d0); + updateRankDim(d1); + + + tensor_TYPE_DOUBLE *M0 = CREATE_TENSOR_TYPE_DOUBLE(d0); + tensor_TYPE_DOUBLE *M1 = CREATE_TENSOR_TYPE_DOUBLE(d1); + + LOG("M0->dim->rank = %ld\n",M0->dim->rank); + LOG("M1->dim->rank = %ld\n",M1->dim->rank); + for(size_t i=0; idim->rank;++i) M0->x[i]=i*0.1 +1; + for(size_t i=0; idim->rank;++i) M1->x[i]=i*0.003 + 2; + + //print_tensor_double(M0,"M0"); + //print_tensor_double(M1,"M1"); + + tensor_TYPE_DOUBLE *M; + tensor_TYPE_DOUBLE *MnO; + + size_t nbth=15; + + //tensorContractnProdNotOpt_TYPE_DOUBLE(&M, M0,M1,2); + //tensorContractnProd_TYPE_DOUBLE(&M, M0,M1,2,nbth); + tensorContractnProdThread_TYPE_DOUBLE(&M, M0,M1,2,nbth); + tensorContractnProdThread_TYPE_DOUBLE(&MnO, M0,M1,2,nbth); + //print_tensor_double(M,"M"); + //cl_tensorContractnProd_TYPE_DOUBLE(&MnO, M0,M1,2); + + + //print_tensor_double(MnO,"MnO"); + + // for(size_t i=0;idim->rank;++i) + // EXPECT_EQ_TYPE_DOUBLE(M->x[i],MnO->x[i]); + + EXPECT_ARRAY_EQ_TYPE_DOUBLE(M->x,M->dim->rank,MnO->x,MnO->dim->rank); + + free_tensor_TYPE_DOUBLE(M); + free_tensor_TYPE_DOUBLE(MnO); + free_tensor_TYPE_DOUBLE(M0); + free_tensor_TYPE_DOUBLE(M1); + + +} + + + + + + + +TEST(VS_thrd_tensorContractnProd_TYPE_DOUBLE2 ){ + dimension *d0=create_dim(3); + dimension *d1=create_dim(3); + + + d0->perm[0]=512; + d0->perm[1]=48; //3; + d0->perm[2]=64; + + d1->perm[0]=48; + d1->perm[1]=64;//3; + d1->perm[2]=240; + + updateRankDim(d0); + updateRankDim(d1); + + + tensor_TYPE_DOUBLE *M0 = CREATE_TENSOR_TYPE_DOUBLE(d0); + tensor_TYPE_DOUBLE *M1 = CREATE_TENSOR_TYPE_DOUBLE(d1); + + LOG("M0->dim->rank = %ld\n",M0->dim->rank); + LOG("M1->dim->rank = %ld\n",M1->dim->rank); + for(size_t i=0; idim->rank;++i) M0->x[i]=i*0.1 +1; + for(size_t i=0; idim->rank;++i) M1->x[i]=i*0.003 + 2; + + //print_tensor_double(M0,"M0"); + //print_tensor_double(M1,"M1"); + + tensor_TYPE_DOUBLE *M; + tensor_TYPE_DOUBLE *MnO; + + size_t nbth=10; + + //tensorContractnProdNotOpt_TYPE_DOUBLE(&M, M0,M1,2); + //tensorContractnProd_TYPE_DOUBLE(&M, M0,M1,2,nbth); + tensorContractnProdThread_TYPE_DOUBLE(&M, M0,M1,2,nbth); + tensorContractnProdThread_TYPE_DOUBLE(&MnO, M0,M1,2,nbth); + //print_tensor_double(M,"M"); + //cl_tensorContractnProd_TYPE_DOUBLE(&MnO, M0,M1,2); + + + //print_tensor_double(MnO,"MnO"); + + // for(size_t i=0;idim->rank;++i) + // EXPECT_EQ_TYPE_DOUBLE(M->x[i],MnO->x[i]); + + EXPECT_ARRAY_EQ_TYPE_DOUBLE(M->x,M->dim->rank,MnO->x,MnO->dim->rank); + + free_tensor_TYPE_DOUBLE(M); + free_tensor_TYPE_DOUBLE(MnO); + free_tensor_TYPE_DOUBLE(M0); + free_tensor_TYPE_DOUBLE(M1); + + +} + + + + + + + +#if 1 + + +TEST(VScltensorContractnProd_TYPE_DOUBLE2 ){ + dimension *d0=create_dim(3); + dimension *d1=create_dim(3); + + d0->perm[0]=512; + d0->perm[1]=48; //3; + d0->perm[2]=64; + + d1->perm[0]=48; + d1->perm[1]=64;//3; + d1->perm[2]=240; + + updateRankDim(d0); + updateRankDim(d1); + + + tensor_TYPE_DOUBLE *M0 = CREATE_TENSOR_TYPE_DOUBLE(d0); + tensor_TYPE_DOUBLE *M1 = CREATE_TENSOR_TYPE_DOUBLE(d1); + + LOG("M0->dim->rank = %ld\n",M0->dim->rank); + LOG("M1->dim->rank = %ld\n",M1->dim->rank); + for(size_t i=0; idim->rank;++i) M0->x[i]=i*0.1 +1; + for(size_t i=0; idim->rank;++i) M1->x[i]=i*0.003 + 2; + + //print_tensor_double(M0,"M0"); + //print_tensor_double(M1,"M1"); + + tensor_TYPE_DOUBLE *M; + tensor_TYPE_DOUBLE *MnO; + + size_t nbth = 10; + + tensorContractnProdThread_TYPE_DOUBLE(&M, M0,M1,2,nbth); + //print_tensor_double(M,"M"); + cl_tensorContractnProd_TYPE_DOUBLE(&MnO, M0,M1,2); //tensorContractnProdNotOpt_TYPE_DOUBLE(&MnO, M0,M1,2); //print_tensor_double(MnO,"MnO"); @@ -446,10 +623,69 @@ TEST(VStensorContractnProd_TYPE_DOUBLE2 ){ // for(size_t i=0;idim->rank;++i) // EXPECT_EQ_TYPE_DOUBLE(M->x[i],MnO->x[i]); - //EXPECT_ARRAY_EQ_TYPE_DOUBLE(M->x,M->dim->rank,MnO->x,MnO->dim->rank); + EXPECT_ARRAY_EQ_TYPE_DOUBLE(M->x,M->dim->rank,MnO->x,MnO->dim->rank); + + free_tensor_TYPE_DOUBLE(M); + free_tensor_TYPE_DOUBLE(MnO); + free_tensor_TYPE_DOUBLE(M0); + free_tensor_TYPE_DOUBLE(M1); } + +TEST(VScl2dtensorContractnProd_TYPE_DOUBLE2 ){ + dimension *d0=create_dim(3); + dimension *d1=create_dim(3); + + d0->perm[0]=512; + d0->perm[1]=48; //3; + d0->perm[2]=64; + + d1->perm[0]=48; + d1->perm[1]=64;//3; + d1->perm[2]=240; + + updateRankDim(d0); + updateRankDim(d1); + + + tensor_TYPE_DOUBLE *M0 = CREATE_TENSOR_TYPE_DOUBLE(d0); + tensor_TYPE_DOUBLE *M1 = CREATE_TENSOR_TYPE_DOUBLE(d1); + + LOG("M0->dim->rank = %ld\n",M0->dim->rank); + LOG("M1->dim->rank = %ld\n",M1->dim->rank); + for(size_t i=0; idim->rank;++i) M0->x[i]=i*0.1 +1; + for(size_t i=0; idim->rank;++i) M1->x[i]=i*0.003 + 2; + + //print_tensor_double(M0,"M0"); + //print_tensor_double(M1,"M1"); + + tensor_TYPE_DOUBLE *M; + tensor_TYPE_DOUBLE *MnO; + + size_t nbth = 10; + + tensorContractnProdThread_TYPE_DOUBLE(&M, M0,M1,2,nbth); + //print_tensor_double(M,"M"); + cl2d_tensorContractnProd_TYPE_DOUBLE(&MnO, M0,M1,2,16,16); + //cl2d_tensorContractnProd_TYPE_DOUBLE(&MnO, M0,M1,2,8,8); + //tensorContractnProdNotOpt_TYPE_DOUBLE(&MnO, M0,M1,2); + + //print_tensor_double(MnO,"MnO"); + + // for(size_t i=0;idim->rank;++i) + // EXPECT_EQ_TYPE_DOUBLE(M->x[i],MnO->x[i]); + + EXPECT_ARRAY_EQ_TYPE_DOUBLE(M->x,M->dim->rank,MnO->x,MnO->dim->rank); + + free_tensor_TYPE_DOUBLE(M); + free_tensor_TYPE_DOUBLE(MnO); + free_tensor_TYPE_DOUBLE(M0); + free_tensor_TYPE_DOUBLE(M1); + +} + + TEST(tensorProd_vs2d ){ dimension *d0=create_dim(3); dimension *d1=create_dim(2); @@ -488,6 +724,11 @@ TEST(tensorProd_vs2d ){ EXPECT_ARRAY_EQ_TYPE_FLOAT(M->x,M->dim->rank,Mn->x,Mn->dim->rank); + free_tensor_TYPE_FLOAT(M); + free_tensor_TYPE_FLOAT(Mn); + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(M1); + //print_tensor_float(Mn,"Mn"); } @@ -534,6 +775,11 @@ TEST(tensorProd_vs2d ){ EXPECT_ARRAY_EQ_TYPE_FLOAT(M->x,M->dim->rank,Mn->x,Mn->dim->rank); //print_tensor_float(Mn,"Mn"); + + free_tensor_TYPE_FLOAT(M); + free_tensor_TYPE_FLOAT(Mn); + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(M1); } TEST(tensorProd_vs2d_Endian ){ @@ -576,10 +822,15 @@ TEST(tensorProd_vs2d_Endian ){ EXPECT_ARRAY_EQ_TYPE_FLOAT(M->x,M->dim->rank,Mn->x,Mn->dim->rank); //print_tensor_float(Mn,"Mn"); + free_tensor_TYPE_FLOAT(M); + free_tensor_TYPE_FLOAT(Mn); + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(M1); } + TEST(tensorProd_vs2d_Endian ){ dimension *d0=create_dim(3); dimension *d1=create_dim(2); @@ -603,8 +854,6 @@ TEST(tensorProd_vs2d_Endian ){ for(size_t i=0; idim->rank;++i) M0->x[i]=i*0.1 +1; for(size_t i=0; idim->rank;++i) M1->x[i]=i*0.003 + 2; - /*print_tensor_float(M0,"M0"); - print_tensor_float(M1,"M1");*/ tensor_TYPE_FLOAT *M; @@ -621,13 +870,16 @@ TEST(tensorProd_vs2d_Endian ){ EXPECT_ARRAY_EQ_TYPE_FLOAT(M->x,M->dim->rank,Mn->x,Mn->dim->rank); //print_tensor_float(Mn,"Mn"); + free_tensor_TYPE_FLOAT(M); + free_tensor_TYPE_FLOAT(Mn); + free_tensor_TYPE_FLOAT(M0); + free_tensor_TYPE_FLOAT(M1); } - +#endif int main(int argc, char **argv){ - run_all_tests_args(argc, argv); return 0; diff --git a/ypermutation_t/src/permutation_t/permutation_t.c b/ypermutation_t/src/permutation_t/permutation_t.c index ae3d951..f5c3cf7 100644 --- a/ypermutation_t/src/permutation_t/permutation_t.c +++ b/ypermutation_t/src/permutation_t/permutation_t.c @@ -43,7 +43,8 @@ int sign(long int a){ }\ PERMUTATION_##type * INIT_PERMUTATION_##type(type *perm, size_t size){\ if (size == 0) return NULL;\ - PERMUTATION_##type *p = CREATE_PERMUTATION_##type(size);\ + PERMUTATION_##type *p = malloc(sizeof(PERMUTATION_##type));\ + p->size = size;\ p->perm = perm ; /*malloc(size*sizeof(type));\ for(size_t i=0;iperm[i] = perm[i];*/\ return p;\ @@ -51,11 +52,16 @@ int sign(long int a){ PERMUTATION_##type * INIT_COPY_PERMUTATION_##type(type *perm, size_t size){\ if (size == 0) return NULL;\ PERMUTATION_##type *p = CREATE_PERMUTATION_##type(size);\ - p->perm = malloc(size*sizeof(type));\ for(size_t i=0;iperm[i] = perm[i];\ return p;\ }\ -\ + void free_permut_##type(PERMUTATION_##type * permut){\ + if(permut){\ + free(permut->perm);\ + free(permut);\ + /*permut=NULL;*/\ + }\ + }\ PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_##type(const PERMUTATION_##type *p ){\ if (p == NULL) return NULL;\ PERMUTATION_TYPE_SIZE_T *t_p = malloc(sizeof(PERMUTATION_TYPE_SIZE_T));\ @@ -119,6 +125,7 @@ size_t TabToPlaceAlgo_##type(const PERMUTATION_##type *p){\ for (size_t i = 0; i < sz;i++) {\ q = (i + 1) * q + tPlace[i];\ }\ + free(tPlace);\ return q;\ }\ /*complexité sz*sz/2 */\ @@ -158,6 +165,7 @@ size_t TabToPlaceOpt1_##type(const PERMUTATION_##type *p){\ for (long int i = 0; i < sz; i++) {\ q = (i + 1) * q + tPlace[i];\ }\ + free(tPlace);\ return q;\ }\ /* complexité sz*(sz+1)*/\ @@ -221,6 +229,7 @@ PERMUTATION_TYPE_SIZE_T * PlaceToTab_##type(PERMUTATION_##type *p, size_t pl){\ }\ \ for (long int i = 0;i < sz;i++) p->perm[i] = save_perm[tb[i]];\ + free(save_perm);\ return t_p;\ }\ \ diff --git a/ypermutation_t/src/permutation_t/permutation_t.h b/ypermutation_t/src/permutation_t/permutation_t.h index 12e224b..ba6f6e7 100644 --- a/ypermutation_t/src/permutation_t/permutation_t.h +++ b/ypermutation_t/src/permutation_t/permutation_t.h @@ -21,6 +21,7 @@ PERMUTATION_##type * CREATE_PERMUTATION_##type(size_t size);\ PERMUTATION_##type * INIT_PERMUTATION_##type(type *perm, size_t size);\ PERMUTATION_##type * INIT_COPY_PERMUTATION_##type(type *perm, size_t size);\ + void free_permut_##type(PERMUTATION_##type * permut);\ PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_##type(const PERMUTATION_##type *p );\ bool IS_PERMUTATION_##type(const PERMUTATION_##type *p );\ size_t TabToPlaceAlgo_##type(const PERMUTATION_##type *p);\ diff --git a/ypermutation_t/test/is_good.c b/ypermutation_t/test/is_good.c index d38b181..4faba21 100644 --- a/ypermutation_t/test/is_good.c +++ b/ypermutation_t/test/is_good.c @@ -24,12 +24,13 @@ TEST(size_permutation) EXPECT_EQ(p->size, 3); PRINTF("test size_permutation2\n"); + free_permut_TYPE_CHAR(p); } TEST(permutation_t_float_trans) { - int n =8; + int n =6; PERMUTATION_TYPE_FLOAT *p = CREATE_PERMUTATION_TYPE_FLOAT(n); PRINTF(" size = %lu \n",p->size); @@ -49,14 +50,14 @@ TEST(permutation_t_float_trans) for(int i = 0; i < p->size; ++i) PRINTF(" (%d: %f) ,",i,p->perm[i]); PRINTF("\n"); - + free_permut_TYPE_FLOAT(p); // sleep(n); } TEST(not_permutation_) { - int n =8; + int n =6; PERMUTATION_TYPE_FLOAT *p = CREATE_PERMUTATION_TYPE_FLOAT(n); PRINTF(" size = %lu \n",p->size); @@ -71,7 +72,8 @@ TEST(not_permutation_) EXPECT_FALSE(IS_PERMUTATION_TYPE_FLOAT(p)); - + + free_permut_TYPE_FLOAT(p); // sleep(n); } @@ -96,6 +98,7 @@ TEST(is_permutation_) EXPECT_TRUE(IS_PERMUTATION_TYPE_FLOAT(p)); + free_permut_TYPE_FLOAT(p); // sleep(n); } @@ -140,18 +143,21 @@ TEST(expect){ TEST(){ - PERMUTATION_TYPE_CHAR *p_char = CREATE_PERMUTATION_TYPE_CHAR(6); + PERMUTATION_TYPE_CHAR *p_char = CREATE_PERMUTATION_TYPE_CHAR(7); p_char->perm[0]='B'; p_char->perm[1]='A'; p_char->perm[2]='Y'; p_char->perm[3]='C'; p_char->perm[4]='D'; p_char->perm[5]='Z'; + p_char->perm[6]='\0'; PERMUTATION_TYPE_SIZE_T *tr_p_char = TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_CHAR(p_char); for(int i = 0; i < tr_p_char->size; ++i) PRINTF(" [%d ]%ld ,",i,tr_p_char->perm[i]); PRINTF("p_char == %s\n",p_char->perm); + free_permut_TYPE_CHAR(p_char); + free_permut_TYPE_SIZE_T(tr_p_char); } TEST(){ @@ -171,7 +177,6 @@ TEST(){ p_char->perm[3]='3'; p_char->perm[4]='4'; p_char->perm[5]='5'; - p_char->perm[6]='\0'; PRINTF("init :%s \n",p_char->perm); PERMUTATION_TYPE_SIZE_T *tab_45 = TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_CHAR(p_char); @@ -201,6 +206,7 @@ TEST(){ } */ + free_permut_TYPE_CHAR(p_char); } @@ -215,6 +221,7 @@ TEST(overflowPlacePerm){ PERMUTATION_TYPE_SIZE_T *tab_45 = PlaceToTab_TYPE_CHAR(p_char, rank); for(size_t i=0; isize; ++i) PRINTF(" %ld: %ld \n",i, tab_45->perm[i]); PRINTF("ret %ld :%s \n",rank,p_char->perm); + free_permut_TYPE_CHAR(p_char); } #if 0 diff --git a/ytest_t/Makefile b/ytest_t/Makefile index eb7e44a..0587831 100644 --- a/ytest_t/Makefile +++ b/ytest_t/Makefile @@ -10,7 +10,7 @@ BARP_O=$(BARPDIR)/src/bar_progress/bar_progress.o INCLUDE=-I$(PWD)/yftest/include -I$(PWD)/yfmock/include -I$(TOOLDIR)/include -I$(BARPDIR)/include -CFLAGS=-lpthread -Wall -Werror -fpic $(INCLUDE) +CFLAGS=-g -lpthread -Wall -Werror -fpic $(INCLUDE) #"-D DEBUG=1" #LDFLAGS= TOPTARGETS := all clean #update_headers diff --git a/ytest_t/example/compile.sh b/ytest_t/example/compile.sh index 8581626..dde7cee 100644 --- a/ytest_t/example/compile.sh +++ b/ytest_t/example/compile.sh @@ -1,3 +1,3 @@ #!/bin/bash -gcc -o x1 eg1.c -I../include_ytest/include/ -L.. -lytest $1 +gcc -o x1 eg1.c -g -I../include_ytest/include/ -L.. -lytest $1 diff --git a/ytest_t/example/eg1.c b/ytest_t/example/eg1.c index a2ca7a1..b63c7cb 100644 --- a/ytest_t/example/eg1.c +++ b/ytest_t/example/eg1.c @@ -1,5 +1,6 @@ #include "ftest/ftest.h" +#if 1 TEST(foo){ PRINTF("first test\n"); int a=1; @@ -7,35 +8,56 @@ TEST(foo){ } TEST(foo){ /* same name*/ - sleep(2); + //sleep(2); float a=0.001, b=0.0005; PRINTF("after sleeping 2 seconds, we test if %f ?= 2*%f\n",a,b); EXPECT_EQ_TYPE_FLOAT(a,2*b); } +#endif + +#if 0 TEST(foo){ sleep(1); double a=0.001, b=0.0001; LOG("after 1 sec, \n"); EXPECT_LT_TYPE_DOUBLE(b,a); - ASSERT_GE_TYPE_DOUBLE(a,b); - ASSERT_LE_TYPE_DOUBLE(a,b); - LOG("this line will not print"); +// ASSERT_GE_TYPE_DOUBLE(a,b); +// ASSERT_LE_TYPE_DOUBLE(a,b); +// LOG("this line will not print"); } +#endif +#if 0 TEST(){ EXPECT_TRUE(2==1); LOG("this line will print: the precedent expect failed\n"); } +#endif + +#if 1 +TEST(){ + /*EXPECT_TRUE(2==1); + LOG("this line will print: the precedent expect failed\n"); + LOG("hey\n"); + */ +} +#endif + +#if 1 TEST(){ sleep(1); EXPECT_FALSE(2==1); } +#endif + +#if 1 TEST(an_other_test){ LOG("FINAL, no test, only sleep\n"); sleep(2); } +#endif int main(int argc, char **argv){ run_all_tests_args(argc,argv); diff --git a/ytest_t/example/x1 b/ytest_t/example/x1 index 5d45156d6452e36ab730249616ebde97bd275d55..d8576ae3420ad51ffb0491ba390c733c85f0f0e2 100644 GIT binary patch literal 44744 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 Ktu0_%(fGdu($>5H literal 51048 zcmeIbd3aPs8Z~}dBA_BcX~n%=KwLn!AfgB;fuL++a2vG=Nrz+%Nz9@_LD3i`Hm#sU zaoiYp#tnB+(I9Hjaba9>$AvLbR0J0sm3-&CZ`JMUn{J-p^F6=+J}wWbs&_f{R@LdM zd+Xl5eOdPSG40#6^X$>VJHcbA@eq}aG>ZFQFc~Bxy`f%L{5{Y+z}pGsjv`b2NKK&C zV_o~?w6l?SKuW)!%%n*7Q?X}L8zEErr8}B4Rbx}nlCF>$iH=(pbZtv7x)^-O=-)b=M~_5YY2;_5!ReUBepDLy{=f<2fAIJu zO}mQH;9QZ$z7D{t`t5}@_UERNFHM7ULK^$BH1bJl;{P}eenuLc2hzwdOoM+(8aY27 zVf+ss8`I#Q1Dx*OK3<eBXhE;jfBSq&&3cd3qW2a%#oY0K-(bqE?S=SFIU^JPaa z=lMp_?8v)WW2BoL`GJmnt0V8_$it0VAa-v@Zr20K4|3#oJ)rzxM{eh9$`5noBOA3q zc^^kU*O4FM$ggzdhdXjRFB6AroIRE_YL44=6v< zk#Buo3p^*aYl28je^PF!DdNtKyrW3;Po^W^$&vSTd12(IX;;FG1-yt=1V>AOh;}%(^OA$o)4)kbW zM9t=wFIrn$7f6{KKAT(qNBmC|3u{GXv#lpnPti zJT*|B5GZE{%EJTYtU$SMpxi4^-ak+dx#a=hkE{RBc{%l8=G1<@X>xA%fW`r@=ER5p zc#-F|hPK?|c|RBS>vrIkAOSw$@!@;JHz%I4JCkF#R)z4tZ4ZjM7=HkCvTbm2;VS6Qm!_w|t`1kf@LQ#+t>)4BX={fb;TL(1e#2bbJCnsJvl1cshble|~ zIrVipl+>|`(C@gzfo}MNNqy6D2)*V~xXXrP^Jsjy za$*Wpzv>yzIL~uhM3CRAM>9WvzDZN_6!>;~Dq|PabY)|=EBOpo^KKf>nTP|bx&NT5 z>Owe4$g$9ckeJ9<|0yBU)ay2{KfHaju4m9J)<9j(sxL84ujRycH-0ht#X^I{q)tuN z!(?qvOuF(}=v%&Egy)6WfrDEN(%E3V4zS*Q*)^nP45j&R9B}88F%u> zu|x5j|FyO@)eS}^972plAv|k0wc|Mbh{dUPrRcgXYV7t@BkV7NJ9TGZ;Y&%grvL~R zuFt8Rvt9{yB@jWdIH?`DA8Q(94a&b<)$II}6b;h3* z#0IyIWjq#C<%w!ns5-IXuGcG~>d`(Ymc4#_ylW>!F%F;Wc-Dj(SlY@LFlt!vgK{_W z=!kRS$duf$TYsUC>c8#RNyHW8*q{Mp_%I_}oQ9|8mrF1%vD$FApT`2=A zM(jR&LC=E$^=uEv6&a63`PvP(P7FE4HO@jj0YNmO!+4yrn`Rl zjaYLU+c2e$HnFLVZJ6>LJz}A#=(C}Bnero)mMM)%Ovy@zSE6{Klz4YQ=`!UTJf&zN zA50aQ@)c!r&kb6`+)vUthdvj!}SflE5~jH-fBsu$9+Qg>b--ed&Z02Z&W{W->dY6_v0nXC${v=wC zPls2lct@qgdkRXImfNoLBR_>IPIUjH%+T@&=HsDV%YCz-316SRBtgq1rs+FN#n7M& z-~5SBsAYpFz!exRb&OCv8O4?-aZ;Xgwi{35`nn>XAl9yAqEzdFc7kgABcBpWH<$PWwmVX43ka^WU28lj8=A^g8V z1a|bePFW+T{d;N9HHa3f`fG(a&T0Q;keJ?keUmhdrr=KUY5z2u#Tuws*u>NR2Pp%ac-p^& z`FQC0nZDV*tfaoKoGr6-X^@h_JOvmiRD$zyEt=E*QHkoVRfVtvV=>9GLvhm&KuNWP z{zgT8_FT+dbCpgn1C!&A!S=_$gi&XG%*4`ZA}UZi9f}sjGWszTcMcj(fy`W6<_A=F zQXos{CqY#w@sgPfF*!5W35Z7*)6p~GZNq3{{5o^ZpCVXu7POhUzNAfT>Vh`Z+nXM-(2JtahTi4fcqr}6wIFHcx;`D=tKSP= zMM}Isp>$`i(X`UY7gEKUYb0f6<{Hd=JT&Ee-)xw6#5|v9Q|B3g$x?APicQTuByVS~ z&#v*^k5nV+=N~sRQZ<6l0u&cuMc!JFbENJ}RAn@O2jQ!Ut&4cZ3JJyC-6(=dVt3=T zoXa<^!_^O3;%{#>4`_UWo36|8-)p`fA#CZEnXwog*wU?gT_1dGSe|dnNAY76Z|E;c z-B2dlL)}mjK4$W{sa?rL+5Q2V2exl20o!*)4d}4%ikW16&&1Mf8r+rbLl8k>w;vm~ zbUV9_wITmD@(qlnFsIw4Z<}5z?AB)u%B3#?@uR=nKIAj5Ui0n@Cee9^pa^b$Qt!;0 zpMNLuP6jGer;19pOQcP)&{#-J(-zURb|p;{^QM}0?L)JeZX*P*M9-mLER-Q8y04JL z-}%tnc~ih;-Za2(Vctsz+(CgK6q6Ldg9vQqP1Bqj+UiKX{H>Wct0*(`W)bu8&{ajg zSt%a*^`4+b!=B!l)P6aj?SPG7;=&B4X zp25~;ozKKF@H03n1D`-0v5e=hhSHsH-=IL|+uERNps0AJxGt!=NmMf5uEpZtTx@6A z1736_)ugok;T!2f6q}kKlf3Pp*@;?SRU^5si91H{>4#!V zHm0bQ(_4QU*Jm$5=PprNZ38N3wHH1ymR7qn&UjW23D;Z+Ukyj4)wu}WC3a!AOB;pL zFA4T)CAvr?{`wceh$W}x#JkoNdfur#h5V*KPbKl4205iHX9`xm1vz4gfl@Y>s~|!w zTisax_%9k!`%-`6vYU26#bDG+S2|2*~pOk0-3v{%GF1>Rp91n=IIc>RIrGOdPIX8wbpFs+I* z!?YsiG5_WJW~B_b9#=~~)9yC_S4zdupbK*(Z<)4xqLzpnNk1Rr7{TYIuYsIu4gEJ2 z+~KL6vs_7bGXOELk6{$;z&Y6r;`r|9s9J*Wd*zZYVR6oF3My*L=R8=~>2NW+iCEjOHx{T^g zD`iwARh+vHrpz#EPv+yH!Fj&fe%cX@2}U&fnrO2r&J3kLa53o#s_u@t%mV-m(bA!ugAG+?VNc^!`;yq(C|nASsM19#^z=9 zVPctZ3mlb(7a-PH#w85irQtOc2n|ODRX<)v6_?P4pek3qgog7#!+WM%8h#vcDnEcx z$Mg()Ao8Hwcfj;%_`?^{s>P7!i`<>q&SLF4nD^3-+e|?k4yR3Q>f$yutfEIOw7=-F z?~p{p`=GQmT%1J1?=MY*cc|jMA^ITR8Bn@3yn|L6`Ns8zhPO~=Xm}m-@z6u(`DP7- zugArdB^j=}6yN~>pbJrKYA%z!rQxxOTCP$fxso~AF@n!`pQEkqGgx7YD}?W%#R=t^ zJcTs(2jzb0lfVYK-kg>o*Q@6eBkSKxEV)iVT`zbzntPxDDHqa97*4&rkQR#s3#nAg zwe;ACSxavLIM>uZ5HLNIDd<%TIl>v?gfmRTc~JV$tm}`kHL{j!i_rY%AOgFp=P2uB zd!|MkU4%w+{+liHAGc@Bin<;W)BAk|QTLtv?HM)ex{7A82Ew$V-!Gp*7z^DlCc0OY z#K2y_wU-$L@Z8IcqU`|Rs=(RlfM16`aGBAawo0b+pq1^Ju9Sg|+@5L2Jnny;<-ng zENAx!DZ>a9EI1ZJZfCr~e`D-fLzq}nE`__2@-oC3%cy5S?u@sX0-5n9233DuOciIm zV}h#b;>8(H_NBneWuTz0y;n)!85SO{&1Br{ona_~W?O*Fd2b^>Ex&$3UG`ka&lkBn z@8vND?dXST$4#nk^A2jq$V?}9&6YT)&TT`y+4P8odWjx8TuH2Z1j-ifH3(+SxCGuW zxWR~dv@PCIiua!AgLo0*;YuzMSm)ST5dLFZyQ<^Z)k=%CtkOSi8eKY ziqI9EsjpqhM2UYGS_$G$hX0B^*xm8aac45g8qUNLe;M4B_*ZG;1qe^C>;@nE^h$SW zUQ=_WYtq!b2)FcH&>q+j&yJWu7#^Bew%wrNH~A1HPNUhPtLXEpiuJ zHbsX(EA!+A$_#ZsWIi7H?R0jzn0?Ml>gzJuvX~BJtU*eu|8botRD$_Wi>A7Z6V)}T zLWirVd7fhj>K=|F`u{Q5o9&nvaaIX}39(Qy`DAzA8k@g`Ifw9Sa5N>$e*ZwCUd*U# zS29tStwIH0*|(t7iXO_c_ofmf>jNg1WhVn)Sr$g~V;M)V9q#mcECn*X{#YGQ-A;i_ zucL!r9mGqfSB8Y?H4lO4^m?^h|7#3CRwv=3cRofDy|W0&K5=i-7TymWsJe(s_7P3j zx9Uw!&d%d$TDy{_ZHT*`X0Zn9+7P#gL=jpkCUt7!5_dH8mbe1$68Gxu06+Uan-?lb z2mBrM0pj+jtuk&7v_jmYC^N(jGanC~kn5ZE)(%?2mife$lEMs;AnH`o)co6fj$LRK zZl{{+c2he$7H>Ir=-YA>TRzp@o3@i(1&wiMk1^oR9tS{H`C*6_G|WFeLBolsu>o0= znOGXGhP%@6W(|U~Ecc!po6i*F)%KGive6>rNhfRKN$1f(lMS5Rz%HI_9smJTk7e-h zSM(PG`3Ob(d3bq>1age@q*?BV5m`?MXC*l6W6OL_N=aev1Pl}^X=={bqWMJk zO;mTWD(qMs=h$IrK6x7`sn*`FsHm@-%j#=aGEq7{0A#S>U68}F;DyPIJ!=&cOUJ>e zM(MaS+7Zj>!GPRZ@em4RR{XF$pqfX4%!)4tRo{zBW<`bsR-S@DbXM#>1#Y(fCm4QA z!$&h;MiDf-6z=}4c)7N40dSz&f?JEp3~YhK4A~Hx)~=*!8wS2cvseRlZ5X)iKa3)D zpP1CCi90Ly1FmJDfV&L5U^~F~DDcE|!0$mHVBkKqRqD)uR%XRLDKiY*nR#4lPV&t% zwS(rdWj+I?q%dI#qE01vo@T9M7kZ%7$Jwe1p%TVog=2@}*(kO&wOzpxOWCQ!_#m;C z-;Nr$yO#GQHlCkl$haHE@sdgO7eoWr9soeg+Ab5>-mG1iSk_z$cV%rZYKmo?$40oU zok@YP_K=|JZQOlS*46}7$B37(mLY+)4U;WvpPk^;zwIsQLJ1#T(+%N(nrndUv-aOK z!L=xGpc*bJcP$^pFm!z8(zJFZP1~@x2hCy))U{!4jzkgqse~p{Q}Vo71HEOffV-@H zR=iRJ|M(`G7h0SS_&@?D&zl9b)#f}3Z(;2;$_#6BnU9Am#`|VxGkR>{uw_1LrKB)_ zmmpM+K0Z>5X5RcIai9D|RoJoU;Ml?K?l%x>cil#6yO!SzEn)~WhT4@(l!m2<7BswR zVuFTOoWcfVUCG4K@HeyO%@T8f*P$usF4 z{;lukjjv0W(6kLF=h7_JKwTS7K0&`&=v*<8nvyyBHT0H~0`7A1u=jm0U)P5%^EoLc<>dSS7KKWhns3sg;bdN- zx`$O^$D+)!!_Z{1m})KGi;DWXp{%}kB@?CN=RgJvI%CM~thgnIv1k3l#L}?{?n=iK z(2iI}4g+#$#WN_7S+Q$S^;{8E+(7!3IoInT@se4QA%T^bfu*{ZXP*pXTYvLw(mN79 zn)y45pxI-<^Jm2;X@UmWQg<&rQFU_~%<|G(MT^j}tlqfW)%{9gFYRB=F#NEsE&>y-7a>M&3nD0~}W1SH&a+@MHof6Ssl3%D69IF~nU+nIUc+^LYMyv~Lz; zCG~av*@r%HrDXUI7${WI)O?N>4RL!Xs;g9m9gD$^9fsz;ml5ihyRz~W`;Z?%ix{?& z!?i1!C=KrbJZQLPOoE1wpG1tTCz)6p_CZ}r!);nCKMZc?_^z#?Oa<=?tdeUnS%SWP}sQ5gN#?(vxO6zk|rSoJ(8K@CP9R@uK+-CyOM2 zy3WeUk8mq9c{yJTi5bNG1#u-!+i>zxn#CHZYcrW{cnQK-=vpz6nvy5e5O6Ig1>EK2 zncD%LufSR9fS-dtz{z&BRWeP4RwmQGct_lD@+aowp>8MoX1}qL`Z_O(lTuQcP7;Lb z(Z_36v$1ABG;}@T)b4Xt*s)mR*uiZSi>c_CLj|^3S$*wFCQ8RlGz2U-7DH}l#Y0Ci z_N?AaEFEu#yV9`?amF%cF(7wVoJWDoiYEkB-%q28v*KYv)fDlPS&<=umCHauUCu9* zzB4S`Tbn82qnSsb2nK!yWPdsT?~BsHFmRwcQ&jG(IFVtP&p%CZj?G>O&WcCVEY?6> z8wTdnFBaNWOzPCcy)?f8ddolocNzG8Bt7uX3jDa3qyQd9;N)5HGTLf$USDMxcnM{O zfo06cL-7&5Sv4!Euj|Q{S!OjzNnz>$1BFWP{ZB2LSurzF-MOl;V{w3EhoO0)5uv`) zQ#aS06&$g=JBqP5m*zLXb-Qc%^#DW2>va-kqO3g|(SWtJ0JN+vJ%R1bDraI@`xV?@ z@NhJ*KuxiX)x6Q|vi5BXgtha6s$)b&)_xjP-6|?!Ekgop|2NXIHhh9pe?G&HY53@x zDilG@zHs+h+h1F_2{=&QiMyf6^X6jSqSx`+@B+|kSJJc%YiH3c)<9hw);>hPSm<;y zsZ$e|wVy(7Su5Z!Ys1?C&Q;*Qc;gm?lDb{sD+!#;+E)`d$oGU+=FOKWGpt>~d_45Q z@kq4QFR+sOx@MyLtd)}L-+EpYD#7#QS~RRZJ5k+zst_t+EQ%aE6uY3PqCKo zLgV_nW!sR{u4JM#dG?2B@lV%ouhse5?OIy(J^$>x0 zH~-Dyz?+~Ca59UwN~SBI6;2MI%y6<7^YPG0!+f(NwS$(kWj-gR zq%g-x5OpePYX0+C$1e0r;&QQbmS*s+-6*kNe4 zEJvvS%aqqWTm&a`eLk>Lo7FwB-Cl;sIF9Cv3~l#0p9d(O+i@NSo)2j7_Q_+x+dZ*b zqp3@VFv+@;iREnw!6|RQLoSx_3+`?v@wOw|CA@tms4AvF&Oy7;$YuMRq9Sjz`7rR& zh(bv_bqFkN<%=1$c^LRXyxSFTY)ZWUKq*gQn#lL2l~SsZ zDn1Mxq72L&fqWO{Px}DYeG{H<>okxfa zt8?}|F3lm3M0U*&1tyo|ju0^Iz!ZGi6>>ze4n<4u)q^C8Ea@~eDGnv9EY13)Zw|`f zQoCG-V;!aHY(D8b3wJP+IaUUV>FDR4B$oT6ui?aLv`O`(?=|#@g$9W}_+;)%C@sg# zlfDM8Lpr=+iuV=ouEv6RGof@j_N3f{m4|`aQ$>zFN}1ugXRQ)aF2nRC5*ikHk5e53H2;b`nDYpb{8{TU>h()8hl$*swf1M7+Tnkv9bc&8KRa$1(2h2# zz7#W5Y7TvYdzKiFz?Wjqhte|2d@07@Ju3Doz7*5^7+Vrrm=bSa;JJ*-r z2xW#*r!gN7UC`e*JB#7!mtqW~?3ZH7q+wU5sNk8xA7@^xAc@%AZ zs!N*{6ZO9|ko7y)!(YLbV^h(d@uj#BxdLEV_RCv29L`g{C!;~&VkH1A7tcGI7+KSp zSUS7|cje+z)D+8joGox!^&$nr#hRe%Fj4W$?~R~pzNqBPkCB0n{2(YDGmm!aKaJrh zzLH*mA{ezlpA8vLhvH6Hh=-gh67?yMmjz_bP}s$D3OsO~{klpDL5jvd@~LoxlOZzhdXeEoSH z;K8_d_y}3XZ9Iw%$oheaWn3QIm2tk9t6;@ zH5lN9+W~(0AptH;2mA~40ZtC1t#a~eXoZtQC^MWqg86tT=SbhIzjja#TV~JS+;2~h zlpy?XPq)*e;pD&N4y~;8Jyl`H;=>0Mco>?CSxhwnUQR`d@7jz*pkP4-hTO8?+#?u! zR)mSAm{ou|CP#Aciwy+2$P%XsW%H&Jmt06H%_U;3KF)wrpZethGEX@~d zZlzx=lr1JHzF6}*^p=5)BZ-0CwgY^U0&mP=-6?=837kADE~l+BFaug);1iS?2Hwwn zJoHK*-|S&l;(xJ5ndN@5=J|iIb^aG?F4Ll6;J8F}H>$#p#TkwrhGy$hgvwVPrljHj zpvCEe^JV-s00senIsydTORr%+IgH*}pE0onJQcMl0S}YD;+v>eJ<}5o_PYgd9xmq1 zd-?jN=HuW6GW?-<+RAk65U; z=!4&!Uk0T;bu-_bH+a9|Mq*05zKZw0=!1CEpma~&?x&UV;g|cN;>Ez-l$lev#mvV; zPxbcAZYR8cb6z9yzd8Q|0I)R6H|J|4Z%^G$Ow@9n8p${3PjigGfuHXa|D>-lC>B!w8eir30}U6kvkZ1m`#-pJLwN$dd} zxRTypcQSCmzFNewVqaz7dA-;5{-&V76Iaw<=#76_d8 z%PnbHIX=4=txxs#x@y{_dfVKC^oWI~iaz+ZxzC}rgid~YU9WU_=O|uAO1$f!6hfQG zKj1xeCG??GkclwXSzRPtv#QO8qta@M^b9Wepnzy)BfM`9`Z?7@N+a&z@5UrFc|GUdDWhrHbDYr2n4?TO3Z*~{q>$8`b^JRpv!~m=S0GNVeQ}Z0jTc(Un z)Urs87SrfV#|XvW?}UFUl6bUBdcEqK0K~v{Iy5n`UxpcJ*4Iqz+;avTl_Y%;HNG3l zINVdOF%-z$^XJHb>H!L5A7n#Nl__2__bda;E(e$NysOhe@UfMD#O9cHvHpNOm~$VH zd`A6?`uc26$p?zuWmJfD>bOj&U8;An{yu^crg#@?f2le2q3DC}V$FxrGAj99tV`43 zt^X%m5~@#$w+HZCM*WRe8u|V3ley;%$_%4UVLl!zKF~KimEop*7wZhESl`8Zq~tB5 ze!*QwQ_G2Jw2X|}$uUClz9ndDMJJrO45z}pfGM8wmWmjeay z;SF!N^p~gfC!r0X-#ozBc_se;GRWB+46B+A*B2+u8j`+7tFt#cpU&W7kt`R$UoWGqV5 z@}wHgB^hTqMkwxsV#|h(tT4qwxF3zp3)Ri*(S&MW0~=J^A0HP>wXHbY0@eP<#8Pc0 z+?8r4N&o0IJ|4V7%eW#IFvVQe9mD|Kn@B9&QibaP3m@(PMx*b`l>G#Rey0serufYSi)qQFmxNebZO2s{rHgwKS~T)CqxY zoJ|?n#1}G@GanCKyAKj&(}k?WY#mra>CXYE{wlx#-(C-n)uKip>Yk|XJXP4SIMA`f z&@|oxlvJc@q9VmhSg!*zSg-~|Zdq{G-i$r#9wwGlJyDI4>IdXv8C#Eq(w)CLF+!QY zRt8li6v*;QI@;ocFiB0EroyT?KI^P22Es3C+^HzxCaJAd*;Uj+mr)&1y&BT0RQ6%g3?X z0lq|m4^0RB0Q3PqZo*wg)12YZ3LiI8X85?C`FLpCUcT9XS;=v#Y@Pr9)~B^- z_;`7ux;Ir}$KpE24nxzQ#Z-JehKi)0U&ugn!Ne0V*efvf40msa8_(KTqPF7?M`dDx zbQ9mvzv>y>dGNO|M(@o=HZ|w^`ljX@c!3845Vyb34b~9&TM0{Xdo+2Wy8{x_p&J(? z)KtHfP)nOszm@O|Jz}AJ(FcDk;d?0ULbplZTx8~`LFw@Ru6TQ-#JdejccI&mxEVf> zDlT+iP-Ygo_n41|wuJl!eoXj!{33##m;B#K_~|A#M1L#cNy*!V?y^KJud5Np0nfiV zMko$IvCZpM=R=tEx{g<5eBJ$vE-*>jzgULx4eVdM&A6EtZ~+(LoOiA#g3GeyO7x@|$#N>Rx<-Fht3Cm;%)21oaBD!-ahn;!zX1$i_- z7mhx;&(Kzp+^^%7tReTAoMiFbo7|+8)_0>_61ml;>%Fu|Mea`<1mh~v2g#iYxB$5g z-s$P^;)*vUC0-+xLT(dzXIklkIh87syCY?W+*^51GalM=58rGX;g#Hq;gh?ERIKD) zw}_2WTEs$k%AHZ^pC3iRNv5g!amR@B3yLkz>vl$4TAfbgq$|}!5hrLh6CXTFtD(Cy z+^k_tEUg}bqtdEY1LO~ZJOT@zyxqwZtjGlyfOU|AwXwTkjd8K^7=)hh%SF)zD1#A4 z40M>%R|Dn6=bgB3n#`2NkeL47a09XCG$wAsn~|MOn^YH{kJBR-I!E-ui_iZ;X_;a! zJ`LVc>G1LuZ`YJ~H$v$$a|Y^55!k8raV3~l?vBHb158PNyvMnmZ`YCf$r@(&jnM$MzlFlsjQ z@z6hZ^Ubaxyl$l$Mq!^{7_}GxU=)h@{+Hw}qk1Q5sZ=A`NVol#1K zxgQnJ$n4I_&348+P;pSqcE)5*{z>$E3@C`t`T38zs2%is6~k@mx2P+dm31Q%%YZIG zR{DL8Tr8u7_qtvBZKXiy_i#{kuBf>5bzoCnuNOrn^h^Hvk7E&!67j9BP8e4(ex2TA z7x8+OLAp}_bZxAl6%PHp-Im=0q+36$Q8gqklO@D4v3%{rQi!B%46v6jz=hv=dZ24<8px zwZnH|&{;<^u~fSq?n<>P2~+Ru#zVKkh%4d(rkJZv1Tg^D&4K%9XMr2+!cAf{$(N7k zKm>M#j#Spjc1BMPx<)S_ufc6q5QmqKI*6gUkQm~;F`tNm%SSWTc{EFN`Pe|eSm*>X zNpbo3GW2aP9}RHl?EoLIz#9%{-6?=e2yC`9OmiNkt7<64myDXnYn)M6Hwhnfh?S#234KK zOJ**!5jzbn2Q4oH`E=&W?gDQc#u~=2GuK@9&pMRB!G*x}XRbxsMsCD*5xKjJw&E_Q z8L{z##b4%w;xW4c-mu@LsDIyvme#e?jTaT-mfz zu3b+RXRc9{nVBn#`FQBGPQKZ3+7aA{)kyq}*i)rq-G~iI-hMzo$4x_1%Ta11{k&-& zBUK}G`$81kT%T@)FzNdAI2k$j`m`7(&h=^S#{Ou9dviS}j^F%>^WMKq(c@Tc(r(9I zXeH=c4(JuQb;TARiCgfXYhNaoCrjX{biGhpv7Wmf`@+FKu<=4?F>fyP^-ay!zzeK7 z34K5|eG2pDF&Y9d2%p7GP)uhtZ~}rC{)e7G(Ztz~MtU{46E3gSpzAF(NOdXr_SG`( zmxw-iDVPDQmPR&BeiQN}12!=oSe=6PO9{3d%I`4$O28dxq8&S#^7Fu;R&*j6bUgA~ zn2(3#RX1w(JF(>=kO2M_;Oni8-qierwLtz%x93Itf%&edDXHI?fCiZ148(IEF+eEl7M=yD=uErn!UM_b*F*lfB`=)Bgv7-le z^uYfsJs85r;Q@+Po>y5JEeID@l+h== z^UmIY;lp7?J4NV&ipS&?msD3ocRoF@q&gZdD;x&fok!(YRp*sRHoK-gnqL(ykb+lL zQ62RP^GYhCisRN-2&CltwinM);j+?jRS{ZL@V8zi1?M8XK>W#gDeO~q-+_|z6?Hsl}1{pgi+(v>X4LoAHHyn4lE&lfU%S+XsfwN6(2CxxFVa%s{$9pFX_l_U# zRTULihD(Y|qv4B+OG?6}WmVzwisI5L1#(F>Xtp;kq z6^_cdhjkEkZVNdW9W4Rpl}5_oS`i@)-Ac1&dt=5;95wzZL?*q?AuO4t<05@d{|NXW z!GZlL!Lwxs>*}$wsbv~tzmHrWhn1`d24GJ<>Qf# zMEVLknTqM8q$}L-uQlNYctXnNITkwNo(s`*m=8Uj@hl}$=!CjsPkNJ#6H807sQwu&Q#IEY(? z|I;9Eq`x^>*L?i{3H9OmC(p~?E%U1OCw1NFYy^ZN^$+6z&(J?hK&$WYSSBr~e;xm? z!&Xu%|1fkL@&9`0;~WI*pHthR!|d)-2{AGe(;s-cCLIP}X}%5m*GUo=!^Z$DfG7`wPTUrjz!S--jLq^3Fr@peh#)N{1`e^?PmMoUFfgclHUJk=>D72# zg2ypqHSK+|rvJT0)2nXQbegfp5+=u;<~+uhA2#J(jou4u1{?cw{CSI}c)UlBCC_Qf z-7p?QHSzEOksRxcp6fObo{RAKWm{_*(`6m_*Yh$o@unFA?7zv8*-=w_;{TzE4?DVY z^fW2%!6zLC)?5F)ijAAM#AJ9L#RD6ha^L|EIdXVTfWykynTl-O<;EXdhH}{Y@c^eB z*6xp1Z6EqoMB7YxvBAT}w6x#$`zBK!X7s>pOiNRv)B=`@p; zn{=*87npR3NtcC#H7ni z+Gx_XCS7k*t@Z!=-_DI{JNBfLhK2h~onBp9RUIBMpx@wr{re86mg0a*2M+AlfAHZ( zynXC;Ph+8eWFc-hTeA zd>k_E@M-P5N+pbs$5i}p=k4j)&#wsaXEy#5$Id@iJ`b68UdXfaftBBfOse)iB=);| znRltB`Pg~fg>C2U?u7&L)kfYwAb-=yM;f`E7d|xd$pQJ-Mn28R?dLaLKmRE9J-jpT zMJ8~hYS&+|Y3J?b1wUWh$@jcHyalFS3$-`o?Yy4;JZ0raLyiYO+8iSx?~d^bH>yft zk)4pn{;V|e3)9FKLLOG=q`wbA&U*Vas@TqRA7MTWdsq#O+&VSFK2`jmh&rdL z21E86gWuoaSo|N;;B-R0nW#6@*ee7`b1smr&$l0I4aoiyG2GmLZNF(poAvJ#vfV_MAy*)dhTBsu_=ZGy) ziH&oZ$oIi5vSj&4$Wx8)%b%i|a24eDu zL7uArM~EEr(xGZ-`)#t3+w*)Y&x8En6!^1g-yUc4;bi3%khA|i!+$%Uc&Fu8R1N4? z=0zfT(~Bcjc{4l+Dyyms3vr{PAX*WfQCx{F`$*NyNPbCKX|xiS1!a*LC1um|N+JbS zWfhf?yy_Y+zieiCNfdV@`t?t35h*M#Eso?>ROHQyU>Cb$mRDGjH!~V3sGd1<7F?WC z1eR4vrh4B6M%AVHkx0KR+G}=jB0DIN9hk@tNMsq=m?@(sWJj_mj*djU$mp{sj+!v; zB#6gOoEpi_G1{EbQ@qI7@smy*H9j(F%$U=%b0fKdLCDeQ$g$(cop@4YV84Ng zqoiy`q&%-8ucRbe;^md&c2I#t2FQ})>G_e$s=SJ-$jrRrQr~URU@!T$k*^_OWL)lq zNTT0!C!EAy&&``&67?#p3d*XhlFap9K(ru|eQKnX-I;sVju=4_C5zgJukDJw+tc}FV}t%>GWgQuvUcVr5aB8Wt0%q%N4qXvRR3M$JY zMR}zK=>5pJNl+9Nmqw~_^UgazG9`O-Fl4W=u%x=OC<)VVmE4>|$e@2gQp8Dp>2$+* z@Q%Z22FbstLZVNvthBAG^cff_osPIhXO9^*b$qTz)+GYOh$jeQ5q+}Qu?+^RW8h1{ zGKXLl)ujeg_}Q~FUeYHoQCafm#%&yU*FR}kA>cfe zUz5jAMqWwr#eu3h&GAExd&x;%=Jl(bH4_X+T2-NGkPQTRTZkaFj`SrTvnP?h(K2n zEy<&U$(5H>dHp2ve#rKlQHCNjxCiR>tBTg3$eAA2WiqGqix!!=y{G_awxk$3$*YIW zqpG}_#Q;-x5Z&vC)nz6YjpQ}$|E9!!E1qlNG)|75I8WkXQ@d}aQnj^trd)ryS7iN% z8h@MG^BUUn@Yh)_dP9)9{zb;$re^s!*1VQZK6w4^`rG{jn}(Ck+xVXWJ#K53+4${# zoK2@0|D8-4j6V-@UUOT2yI*Hho)_|9jO=IYZ?C(HA!C!Rzuo_{son2`i5$dmj|))X zUYhl{`)4*i#~9oAt({FTg`RtJwruz3Y&z2T2je$lFOCeGX#MSep-t_6p{+mI{+o>d zi3ZT_KiYJO0j59uEa?AF$k-Z{oRPJDR?6o( zU4MJMZ&SPPZS8}fzn6`_9e;0$u{7xd^LaMXHub*&1?#u|c7MpGi>#wbgY|zL@b7cC z8rqcm8}4EGV`UqV;oh4K)9&9bc~C8eT0@gsf1CaUc{lvG{&v4`o$+dxh<7JxKdMt$X zv*lgkOqs1e+^CvN*y{@-v#>&G@14AtOk*5CTCgA-cO*MaT l-`U14j^@wS<(g^0b)tLNdabNGGO7IIW*qhjI0TB`{{c6X_!a;F diff --git a/ytest_t/include_ytest/include/ftest/ftest.h b/ytest_t/include_ytest/include/ftest/ftest.h index 98fec1b..501bf63 100644 --- a/ytest_t/include_ytest/include/ftest/ftest.h +++ b/ytest_t/include_ytest/include/ftest/ftest.h @@ -317,17 +317,21 @@ GEN_EXPECTED_OP_TYPE_FUNC(NE, TYPE_STRING) do{ \ if(verb==NORMAL){PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);} \ else if(verb==VERB){\ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);\ PRINT_LOC("test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ }\ }while(0); #define IFTESTFAIL_NAME(OP,type,var1,var2,name_f,msg_call) \ do{\ - PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 %s failed %s \n",name_f,msg_call); \ }while(0); @@ -338,16 +342,20 @@ do{ \ /*IFTESTPASS_NAME(OP,type,var1,var2,name_f,msg_call);*/ \ if(verb==NORMAL){PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);} \ else if(verb==VERB){\ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);\ PRINT_LOC("test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ }\ \ } \ else{ \ /*IFTESTFAIL_NAME(OP,type,var1,var2,name_f,msg_call);*/ \ - PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 %s failed %s \n",name_f,msg_call); \ } \ } else { \ @@ -355,15 +363,19 @@ do{ \ /*IFTESTPASS_NAME(OP,type,var1,var2,name_f,msg_call);*/ \ if(verb==NORMAL){PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);} \ else if(verb==VERB){\ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);\ PRINT_LOC("test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ }\ } \ else{ \ /*IFTESTFAIL_NAME(OP,type,var1,var2,name_f,msg_call);*/ \ - PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 %s failed %s \n",name_f,msg_call); \ } \ }\ @@ -380,17 +392,21 @@ do{ \ do{\ if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ else if(verb==VERB){\ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ }\ }while(0); #define IFTESTFAIL_ \ do{\ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ }while(0); @@ -403,16 +419,20 @@ do{ \ /*IFTESTPASS_(var1,var2);*/ \ if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ else if(verb==VERB){\ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ }\ \ } \ else{ \ /*IFTESTFAIL_(var1,var2) ; */ \ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ if(is_assert) return; \ } \ @@ -421,15 +441,19 @@ do{ \ /*IFTESTPASS_(var1,var2) ; */ \ if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ else if(verb==VERB){\ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ }\ } \ else{ \ /*IFTESTFAIL_(var1,var2) ; */ \ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ if(is_assert) return; \ } \ @@ -448,15 +472,19 @@ do{ \ /*IFTESTPASS_ ;*/ \ if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ else if(verb==VERB){\ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ }\ } \ else{ \ /*IFTESTFAIL_ ;*/ \ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ } \ }else { \ @@ -464,15 +492,19 @@ do{ \ /*IFTESTPASS_(var1,var2) ; */ \ if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ else if(verb==VERB){\ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ }\ } \ else{ \ /*IFTESTFAIL_(var1,var2) ; */ \ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ } \ }\ @@ -485,15 +517,19 @@ do{ \ /*IFTESTPASS_(var1,var2) ; */ \ if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ else if(verb==VERB){\ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ }\ } \ else{ \ /*IFTESTFAIL_(var1,var2) ; */ \ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ return; \ } \ @@ -502,15 +538,19 @@ do{ \ /*IFTESTPASS_(var1,var2) ; */ \ if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ else if(verb==VERB){\ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ }\ } \ else{ \ /*IFTESTFAIL_(var1,var2) ; */ \ + char *str_var1 = type##_TO_STR(var1) , *str_var2 = type##_TO_STR(var2);\ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ - ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + ,#var1,STRFY(OP),#var2,#var1, str_var1, #var2, str_var2 ); \ + free(str_var1); free(str_var2);\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ return; \ } \ diff --git a/ytest_t/include_ytest/include/ftest/ftest_array.h b/ytest_t/include_ytest/include/ftest/ftest_array.h index b4da469..55cbaa9 100644 --- a/ytest_t/include_ytest/include/ftest/ftest_array.h +++ b/ytest_t/include_ytest/include/ftest/ftest_array.h @@ -17,17 +17,24 @@ do{ \ else if(verb==VERB){\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);\ PRINT_LOC("test passed: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ - for(size_t i=0; i < min(sz1,sz2);++i) \ - PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ - ,#var1,i, type##_TO_STR(var1[i]), #var2,i, type##_TO_STR(var2[i])); \ + for(size_t i=0; i < min(sz1,sz2);++i) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ }\ \ } \ else{ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ for(size_t i=0; i < min(sz1,sz2);++i)\ - if (!(var1[i] OP var2[i])) PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ - ,#var1,i, type##_TO_STR(var1[i]), #var2,i, type##_TO_STR(var2[i])); \ + if (!(COMPARE_N_##type((void*)(var1 + i),(void*)(var2 + i)) OP 0)) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ \ }else { \ @@ -36,16 +43,23 @@ do{ \ else if(verb==VERB){\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);\ PRINT_LOC("test passed: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ - for(size_t i=0; i < min(sz1,sz2);++i) \ - PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ - ,#var1,i, type##_TO_STR(var1[i]), #var2,i, type##_TO_STR(var2[i])); \ + for(size_t i=0; i < min(sz1,sz2);++i) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ }\ } \ else{ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ for(size_t i=0; i < min(sz1,sz2);++i)\ - if (!(var1[i] OP var2[i])) PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ - ,#var1,i, type##_TO_STR(var1[i]), #var2,i, type##_TO_STR(var2[i])); \ + if (!(COMPARE_N_##type((void*)(var1 + i),(void*)(var2 + i)) OP 0)) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ } \ }\ @@ -66,16 +80,23 @@ do{ \ else if(verb==VERB){\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ PRINT_LOC("test passed: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ - for(size_t i=0; i < min(sz1,sz2);++i) \ - PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ - ,#var1,i, type##_TO_STR(var1[i]), #var2,i, type##_TO_STR(var2[i])); \ + for(size_t i=0; i < min(sz1,sz2);++i) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ }\ } \ else{ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ for(size_t i=0; i < min(sz1,sz2);++i)\ - if (!(var1[i] OP var2[i])) PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ - ,#var1,i, type##_TO_STR(var1[i]), #var2,i, type##_TO_STR(var2[i])); \ + if (!(COMPARE_N_##type((void*)(var1 + i),(void*)(var2 + i)) OP 0)) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ } \ }else { \ @@ -84,16 +105,23 @@ do{ \ else if(verb==VERB){\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ PRINT_LOC("test passed: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ - for(size_t i=0; i < min(sz1,sz2);++i) \ - PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ - ,#var1,i, type##_TO_STR(var1[i]), #var2,i, type##_TO_STR(var2[i])); \ + for(size_t i=0; i < min(sz1,sz2);++i) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ }\ } \ else{ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ for(size_t i=0; i < min(sz1,sz2);++i)\ - if (!(var1[i] OP var2[i])) PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ - ,#var1,i, type##_TO_STR(var1[i]), #var2,i, type##_TO_STR(var2[i])); \ + if (!(COMPARE_N_##type((void*)(var1 + i),(void*)(var2 + i)) OP 0)) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ } \ }\ @@ -107,16 +135,23 @@ do{ \ else if(verb==VERB){\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ PRINT_LOC("test passed: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ - for(size_t i=0; i < min(sz1,sz2);++i) \ - PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ - ,#var1,i, type##_TO_STR(var1[i]), #var2,i, type##_TO_STR(var2[i])); \ + for(size_t i=0; i < min(sz1,sz2);++i) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ }\ } \ else{ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ for(size_t i=0; i < min(sz1,sz2);++i)\ - if (!(var1[i] OP var2[i])) PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ - ,#var1,i, type##_TO_STR(var1[i]), #var2,i, type##_TO_STR(var2[i])); \ + if (!(COMPARE_N_##type((void*)(var1 + i),(void*)(var2 + i)) OP 0)) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ return; \ } \ @@ -126,16 +161,23 @@ do{ \ else if(verb==VERB){\ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ PRINT_LOC("test passed: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ - for(size_t i=0; i < min(sz1,sz2);++i) \ - PRINTF("Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ - ,#var1,i, type##_TO_STR(var1[i]), #var2,i, type##_TO_STR(var2[i])); \ + for(size_t i=0; i < min(sz1,sz2);++i) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF("Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ }\ } \ else{ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ for(size_t i=0; i < min(sz1,sz2);++i)\ - if (!(var1[i] OP var2[i])) PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ - ,#var1,i, type##_TO_STR(var1[i]), #var2,i, type##_TO_STR(var2[i])); \ + if (!(COMPARE_N_##type((void*)(var1 + i),(void*)(var2 + i)) OP 0)) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ return; \ } \ diff --git a/ytest_t/include_ytest/include/tools_t/tools_t.h b/ytest_t/include_ytest/include/tools_t/tools_t.h index 6f20a20..c620156 100644 --- a/ytest_t/include_ytest/include/tools_t/tools_t.h +++ b/ytest_t/include_ytest/include/tools_t/tools_t.h @@ -23,8 +23,6 @@ #define F_ERR stderr #endif - - /* #ifndef SECOND #define SECOND 0 @@ -38,6 +36,14 @@ double diff_timespec_milliseconds(struct timespec time_stop, struct timespec tim long diff_timespec_nanoseconds(struct timespec time_stop, struct timespec time_start); */ +#if 1 + +extern long int PRECISION_TYPE_FLOAT ; +extern long int PRECISION_TYPE_DOUBLE ; +extern long int PRECISION_TYPE_L_DOUBLE ; + +#endif + void gotoxy(int x, int y); //void get_cursor_position(int *col, int *rows); diff --git a/ytest_t/libytest.so b/ytest_t/libytest.so index a823520d3949423fa5accf91db48d696a831a1c1..a1c3a34ceccc29a697474ca0db8613bff76d9b06 100644 GIT binary patch literal 790544 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

;?*x@ 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

!_w~w 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 } tmp_failed_l = malloc(sizeof(struct failed_lists)); - tmp_failed_l->name = malloc(strlen(name_failed)); + tmp_failed_l->name = malloc(strlen(name_failed)+1); strcpy(tmp_failed_l->name, name_failed); tmp_failed_l->next = NULL; rec_tmp->next = tmp_failed_l; @@ -196,7 +197,7 @@ void append_failed_list(struct failed_lists **fn_failed_list ,const char *name_f } else{ *fn_failed_list = malloc(sizeof(struct failed_lists)); - (*fn_failed_list)->name = malloc(strlen(name_failed)); + (*fn_failed_list)->name = malloc(strlen(name_failed)+1); strcpy((*fn_failed_list)->name, name_failed); (*fn_failed_list)->next = NULL; } @@ -240,7 +241,7 @@ size_t extract_num__f(const char *name_f){ /* TEST_funcname___NUM -> TEST(funcname) */ char* extract_func_edited_TEST_from_exec_func_name(char* func_name){ size_t len=strlen(func_name); - char *ret_name=malloc(len); + char *ret_name=malloc(len+1); strcpy(ret_name, func_name); char *pad="____"; size_t len_pad=strlen(pad); @@ -266,15 +267,17 @@ void setup_variables_before_exec(){ size_t len_bp = strlen(bar_progress); size_t len_db = strlen(default_bar_progress); if( len_bp >= len_db ){ - char *tmp_bp=malloc(len_bp); + char *tmp_bp=malloc(len_bp+1); strcpy(tmp_bp,bar_progress); tmp_bp[2]='u'; + free(bar_progress); bar_progress=tmp_bp; } else{ char *tmp_bp=malloc(len_bp); strcpy(tmp_bp,default_bar_progress); tmp_bp[2]='u'; + free(default_bar_progress); default_bar_progress=tmp_bp; } } @@ -569,7 +572,7 @@ void extract_to_array_TYPE_STRING(char * in_str){ val[cur_val++]='\0'; PRINT_DEBUG("val_str=(((%s) cur_val=[%ld]\n",val,cur_val); - array_TYPE_STRING[cur_array_TYPE_STRING]=malloc(strlen(val)); + array_TYPE_STRING[cur_array_TYPE_STRING]=malloc(strlen(val)+1); strcpy(array_TYPE_STRING[cur_array_TYPE_STRING++],val); cur_val=0; } @@ -578,10 +581,11 @@ void extract_to_array_TYPE_STRING(char * in_str){ val[cur_val++]='\0'; PRINT_DEBUG("val_str=(%s) cur_val=[%ld]\n",val,cur_val); - array_TYPE_STRING[cur_array_TYPE_STRING]=malloc(strlen(val)); + array_TYPE_STRING[cur_array_TYPE_STRING]=malloc(strlen(val)+1); strcpy(array_TYPE_STRING[cur_array_TYPE_STRING++],val); } + free(val); } @@ -736,17 +740,18 @@ bool expected_##OP##_name_##type(type var1, type var2,const char * name){ }\ bool expected_array_##OP##_##type(type *var1, long int sz1, type *var2, long int sz2){ \ if(sz1 OP sz2){\ - size_t count=0;\ if(sz1 == sz2){\ + size_t count_ = 0;\ for(size_t i=0;iname = malloc(strlen(name)); + f_static->name = malloc(strlen(name)+1); strcpy(f_static->name,name); f_static->run = run; f_static->next = NULL; @@ -930,7 +935,7 @@ append_func(void (*run)(void), char *name){ else{ struct func *tmp = malloc(sizeof(struct func)); tmp->run = run; - tmp->name = malloc(strlen(name)); + tmp->name = malloc(strlen(name)+1); strcpy(tmp->name,name); tmp->next = NULL; f_static->next = tmp; @@ -1002,7 +1007,10 @@ stat_end_run(size_t ntst, struct timespec start_t){ bool is_in_array_##type(type *array, type val){\ bool found = false;\ for(size_t i = 0; i < cur_array_##type; ++i){\ - PRINT_DEBUG("compare |%s| in array and val: |%s|\n",type##_TO_STR(array[i]), type##_TO_STR(val));\ + /*char * strarr = type##_TO_STR(array[i]), *strval = type##_TO_STR(val);\ + PRINT_DEBUG("compare |%s| in array and val: |%s|\n",strarr, strval);\ + free(strarr);free(strval);\ + */PRINT_DEBUG("compare |%s| in array and val: |%s|\n",type##_TO_STR(array[i]), type##_TO_STR(val));\ if(COMPARE_N_##type((void*)(array[i]),(void*)val ) == 0 ){\ found = true;\ break;\ @@ -1016,6 +1024,9 @@ bool is_in_array_##type(type *array, type val){\ bool is_in_array_##type(type *array, type val){\ bool found = false;\ for(size_t i = 0; i < cur_array_##type; ++i){\ + /*char * strarr = type##_TO_STR(array[i]), *strval = type##_TO_STR(val);\ + PRINT_DEBUG("compare |%s| in array and val: |%s|\n",strarr, strval);\ + free(strarr);free(strval);*/\ PRINT_DEBUG("compare |%s| in array and val: |%s|\n",type##_TO_STR(array[i]), type##_TO_STR(val));\ if(COMPARE_N_##type((void*)(&array[i]),(void*)&val ) == 0 ){\ found = true;\ @@ -1036,7 +1047,7 @@ GEN_IS_IN_ARRAY_NUM(TYPE_SIZE_T) void extract_name_test_from_name(char *name_org, char **name_f){ size_t len=strlen(name_org); long cur=-1; - char *name_test=malloc(len); + char *name_test=malloc(len+1); for(size_t i=0; inext; - free(ttmp); + if(*fun){ + struct func *tmp = *fun, *ttmp; + while(tmp != NULL){ + free(tmp->name); + ttmp = tmp; + tmp = tmp->next; + free(ttmp); + } + *fun=NULL; + } +} +void +clear_all_falied_list(struct failed_lists **flist) +{ + if(*flist){ + struct failed_lists *tmp = *flist, *ttmp; + while(tmp != NULL){ + free(tmp->name); + + ttmp = tmp; + tmp = tmp->next; + free(ttmp); + } + *flist=NULL; } } /* * to purge func list! * optionnal but good practice */ +void +_purge_t() +{ + + #if 0 + clear_all_func(&f_beging); + clear_all_falied_list(&failed_l); + +#endif + if(array_TYPE_SIZE_T){ + free(array_TYPE_SIZE_T); + array_TYPE_SIZE_T = NULL; + } + if(array_TYPE_STRING) { + for(int i=0; i< cur_array_TYPE_STRING; ++i){ + free(array_TYPE_STRING[i]); + } + free(array_TYPE_STRING); + array_TYPE_STRING = NULL; + } + + PRINT_DEBUG("%s\n","_purge_t done "); +} + + + __attribute__((destructor)) void purge_tests() { - struct func *tmp = f_beging; - clear_all_func(&tmp); + + #if 1 + clear_all_func(&f_beging); + clear_all_falied_list(&failed_l); +#endif + if(array_TYPE_SIZE_T){ + free(array_TYPE_SIZE_T); + } + if(array_TYPE_STRING) { + for(int i=0; i< cur_array_TYPE_STRING; ++i){ + free(array_TYPE_STRING[i]); + } + free(array_TYPE_STRING); + } + PRINT_DEBUG("%s\n","purge done"); } diff --git a/ytools_t/include/tools_t/tools_t.h b/ytools_t/include/tools_t/tools_t.h index 6f20a20..c620156 100644 --- a/ytools_t/include/tools_t/tools_t.h +++ b/ytools_t/include/tools_t/tools_t.h @@ -23,8 +23,6 @@ #define F_ERR stderr #endif - - /* #ifndef SECOND #define SECOND 0 @@ -38,6 +36,14 @@ double diff_timespec_milliseconds(struct timespec time_stop, struct timespec tim long diff_timespec_nanoseconds(struct timespec time_stop, struct timespec time_start); */ +#if 1 + +extern long int PRECISION_TYPE_FLOAT ; +extern long int PRECISION_TYPE_DOUBLE ; +extern long int PRECISION_TYPE_L_DOUBLE ; + +#endif + void gotoxy(int x, int y); //void get_cursor_position(int *col, int *rows); diff --git a/ytools_t/src/tools_t/tools_t.c b/ytools_t/src/tools_t/tools_t.c index 0afbcb2..a073550 100644 --- a/ytools_t/src/tools_t/tools_t.c +++ b/ytools_t/src/tools_t/tools_t.c @@ -1,11 +1,13 @@ #include "tools_t/tools_t.h" + void gotoxy(int x, int y) { printf("%c[%d;%df", 0x1B, y, x); } + /* void get_cursor_position(int *col, int *rows) { @@ -48,9 +50,10 @@ long diff_timespec_nanoseconds(struct timespec time_stop, struct timespec time_s #define GEN_TO_STR_N(type,size,format) \ TYPE_STRING type##_TO_STR(type var){ \ char *ret = malloc(size); \ - sprintf(ret,format,var); \ - ret[strlen(ret)]='\0'; \ - return ret; } + int szret = sprintf(ret,format,var); \ + ret[szret]='\0'; \ + return ret; \ + }\ GEN_TO_STR_N(TYPE_CHAR,2,"%c") GEN_TO_STR_N(TYPE_U_CHAR,2,"%c") @@ -67,6 +70,8 @@ TYPE_STRING TYPE_STRING_TO_STR(TYPE_STRING var){ return var; } +#if 0 + #define PRECISION_TYPE_CHAR 1 #define PRECISION_TYPE_U_CHAR 1 #define PRECISION_TYPE_INT 1 @@ -77,22 +82,44 @@ TYPE_STRING TYPE_STRING_TO_STR(TYPE_STRING var){ // with gcc we can change value of theses PRECISION_TYPES below with: gcc -D PRECISION_TYPE_FLOAT=100000 for instance! #ifndef PRECISION_TYPE_FLOAT - /*#define PRECISION_TYPE_FLOAT 100000000*/ - #define PRECISION_TYPE_FLOAT 10 + #define PRECISION_TYPE_FLOAT 100000000 + /*#define PRECISION_TYPE_FLOAT 10*/ #endif #ifndef PRECISION_TYPE_DOUBLE - /*#define PRECISION_TYPE_DOUBLE 100000000000*/ - #define PRECISION_TYPE_DOUBLE 1000 + #define PRECISION_TYPE_DOUBLE 100000000000 + /*#define PRECISION_TYPE_DOUBLE 1000*/ #endif #ifndef PRECISION_TYPE_L_DOUBLE #define PRECISION_TYPE_L_DOUBLE 100000000000000 #endif +#endif + +#if 1 + +long int PRECISION_TYPE_CHAR = 1; +long int PRECISION_TYPE_U_CHAR = 1; +long int PRECISION_TYPE_INT = 1; +long int PRECISION_TYPE_U_INT = 1; +long int PRECISION_TYPE_L_INT = 1; +long int PRECISION_TYPE_U_L_INT = 1; +long int PRECISION_TYPE_SIZE_T = 1; + +long int PRECISION_TYPE_FLOAT = 100000000; +long int PRECISION_TYPE_DOUBLE = 100000000000; +long int PRECISION_TYPE_L_DOUBLE = 100000000000000; + +#endif + + + #define GENERATE_FUNCTION_NUMERIC(type)\ int COMPARE_N_##type(const void *a, const void *b){ \ - type diff = (*(type*)a - *(type*)b)*PRECISION_##type; \ - PRINT_DEBUG_(" diff = %s a=%s b=%s \n",type##_TO_STR(diff),type##_TO_STR(*(type*)a), type##_TO_STR(*(type*)b));\ - if ((diff < 1) && (diff > -1) ) return 0; \ + type diff = (*(type*)a - *(type*)b) * PRECISION_##type; \ + /*char *str_diff = type##_TO_STR(diff), *str_a = type##_TO_STR(*(type*)a), *str_b = type##_TO_STR(*(type*)b);\ + PRINT_DEBUG_(" diff = %s a=%s b=%s PRECISION : %ld\n",str_diff, str_a, str_b, PRECISION_##type);\ + free(str_diff); free(str_a); free(str_b);\ + */if ((diff < 1) && (diff > -1) ) return 0; \ return diff; \ } \ \

9FH--+n)`K|$K+yE~ZPL(v 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 z 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