restruct repository to ytest, create shared library for ytest
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
|
||||
#include "set_theoric_t/set_theoric_t.h"
|
||||
|
||||
#define GENERATE_SET_THEORIC(type) \
|
||||
SET_THEORIC_##type * CREATE_SET_THEORIC_##type(size_t id){ \
|
||||
if(id == 0) return NULL; \
|
||||
SET_THEORIC_##type *ret_set = malloc(sizeof(SET_THEORIC_##type)); \
|
||||
ret_set->id = id; \
|
||||
ret_set->set = malloc(id*sizeof(type)); \
|
||||
for(type i = 0; i < id; ++i) ret_set->set[i]=i; \
|
||||
return ret_set; \
|
||||
} \
|
||||
\
|
||||
bool IS_SET_THEORIC_##type(SET_THEORIC_##type *st){ \
|
||||
for(type i = 0; i < st->id; ++i){ \
|
||||
if(st->set[i] != i) return false; \
|
||||
return true; \
|
||||
} \
|
||||
} \
|
||||
|
||||
GENERATE_SET_THEORIC(TYPE_U_CHAR)
|
||||
GENERATE_SET_THEORIC(TYPE_U_INT)
|
||||
GENERATE_SET_THEORIC(TYPE_U_L_INT)
|
||||
GENERATE_SET_THEORIC(TYPE_SIZE_T)
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
#ifndef __SET_THEORIC_T_C__H
|
||||
#define __SET_THEORIC_T_C__H
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "tools_t/tools_t.h"
|
||||
|
||||
#define GENERATE_UNSIGNED_SET_THEORIC(type) \
|
||||
struct SET_THEORIC_##type{ \
|
||||
type id; \
|
||||
type *set; \
|
||||
}; \
|
||||
typedef struct SET_THEORIC_##type SET_THEORIC_##type; \
|
||||
SET_THEORIC_##type * CREATE_SET_THEORIC_##type(size_t id/*TYPE_##type*/); \
|
||||
bool IS_SET_THEORIC_##type(SET_THEORIC_##type *st); \
|
||||
|
||||
GENERATE_UNSIGNED_SET_THEORIC(TYPE_U_CHAR)
|
||||
GENERATE_UNSIGNED_SET_THEORIC(TYPE_U_INT)
|
||||
GENERATE_UNSIGNED_SET_THEORIC(TYPE_U_L_INT)
|
||||
GENERATE_UNSIGNED_SET_THEORIC(TYPE_SIZE_T)
|
||||
|
||||
|
||||
|
||||
#endif /*__SET_THEORIC_T_C__H*/
|
||||
Reference in New Issue
Block a user