debug all leak mem with valgrind in ftest and tensor rep
This commit is contained in:
@@ -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;i<size;++i) p->perm[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;i<size;++i) p->perm[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;\
|
||||
}\
|
||||
\
|
||||
|
||||
@@ -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);\
|
||||
|
||||
@@ -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; i<p_char->size; ++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
|
||||
|
||||
Reference in New Issue
Block a user