From c1351ed388c1e1dbdc3117baab93dfc0f3130921 Mon Sep 17 00:00:00 2001 From: fanasina Date: Sat, 4 Apr 2026 00:51:03 +0200 Subject: [PATCH] [update] remove duplicate files list_h --- list_t/Makefile | 56 ----- list_t/src/list_t/list_t.c | 155 ------------ list_t/src/list_t/list_t.h | 478 ------------------------------------- list_t/src/list_t/list_t.o | Bin 101768 -> 0 bytes list_t/test/Makefile | 60 ----- list_t/test/compile.sh | 23 -- 6 files changed, 772 deletions(-) delete mode 100644 list_t/Makefile delete mode 100755 list_t/src/list_t/list_t.c delete mode 100644 list_t/src/list_t/list_t.h delete mode 100644 list_t/src/list_t/list_t.o delete mode 100644 list_t/test/Makefile delete mode 100755 list_t/test/compile.sh diff --git a/list_t/Makefile b/list_t/Makefile deleted file mode 100644 index f9c3d8c..0000000 --- a/list_t/Makefile +++ /dev/null @@ -1,56 +0,0 @@ -# file list_t/Makefile -CC=gcc -ROOTPROJECTDIR:=$(realpath ..) -TOOLDIR=$(ROOTPROJECTDIR)/ytools_t - -INCLUDE_DIR=$(TOOLDIR)/include -CFLAGS=-I$(INCLUDE_DIR) -I./src - -#SRC_DIR=$(ROOT_DIR)/src -#SRC=$(wildcard */*/*.c) -#HEADS=$(OBJS:.o=.h) - -LISTSRC=src/list_t/list_t.c -LISTSRC_O=$(LISTSRC:.c=.o) - -SETTSRC=src/set_theoric_t/set_theoric_t.c -SETTSRC_O=$(SETTSRC:.c=.o) - - -TOOLSRC_O=$(TOOLDIR)/src/tools_t/tools_t.o -#TOOLSRC=$(TOOLDIR)/src/tools_t/tools_t.c -#TOOLSRC_O=$(TOOLSRC:.c=.o) - -SRC=$(wildcard **/**/*.c) -OBJ=$(SRC:.c=.o) #$(TOOLSRC_O) - -TOPTARGETS := all clean -DEP=$(TOOLDIR) - -$(TOPTARGETS): $(DEP) - -all: $(LISTSRC_O) - - -$(LISTSRC_O): $(LISTSRC) $(TOOLSRC_O) - $(CC) -o $@ -c $< $(CFLAGS) - -#$(SETTSRC_O) : $(SETTSRC) $(TOOLSRC_O) -# $(CC) -o $@ -c $< $(CFLAGS) - -$(DEP): - $(MAKE) -C $@ $(MAKECMDGOALS) - -#$(TOOLSRC_O): $(TOOLSRC) -# $(CC) -o $@ -c $< $(CFLAGS) - -.PHONY: clean mrproper - -clean: - rm -f $(OBJ) - -mrproper: clean - rm -f $(EXEC) - -run: $(EXEC) - $(EXEC) -h diff --git a/list_t/src/list_t/list_t.c b/list_t/src/list_t/list_t.c deleted file mode 100755 index 873dc6f..0000000 --- a/list_t/src/list_t/list_t.c +++ /dev/null @@ -1,155 +0,0 @@ - -#include "list_t/list_t.h" - -#if 0 - -#define GEN_LIST_ALL_L(type)\ - \ - struct main_list_##type *create_var_list_##type(){\ - struct main_list_##type *ret_var_list = malloc(sizeof(struct main_list_##type));\ - ret_var_list->begin_list = NULL;\ - ret_var_list->end_list = NULL;\ - ret_var_list->current_list = NULL;\ - ret_var_list->current_index = 0;\ - ret_var_list->size = 0;\ - return ret_var_list;\ - }\ - void push_back_list_##type(struct main_list_##type *var_list, type value){\ - struct list_##type * list_to_add = malloc(sizeof(struct list_##type));\ - list_to_add->value = value;\ - list_to_add->preview = var_list->end_list;\ - list_to_add->next = NULL;\ - if(var_list->end_list){\ - (var_list->end_list)->next = list_to_add;\ - }else {\ - var_list->begin_list = list_to_add;\ - var_list->current_list= list_to_add;\ - }\ - var_list->end_list = list_to_add;\ - ++(var_list->size);\ - }\ - void push_front_list_##type(struct main_list_##type *var_list, type value){\ - struct list_##type * list_to_add = malloc(sizeof(struct list_##type));\ - list_to_add->value = value;\ - list_to_add->preview = NULL;\ - list_to_add->next = var_list->begin_list;\ - if(var_list->begin_list){\ - (var_list->begin_list)->preview = list_to_add;\ - ++(var_list->current_index);\ - }else {\ - var_list->end_list = list_to_add;\ - var_list->current_list= list_to_add;\ - }\ - var_list->begin_list = list_to_add;\ - ++(var_list->size);\ - }\ - size_t move_current_to_index_list_##type(struct main_list_##type *var_list, size_t index){\ - if(index == var_list->current_index) return index;\ - if(var_list->begin_list == NULL) return 0;\ - if(index >= var_list->size){\ - var_list->current_list = var_list->end_list;\ - var_list->current_index = var_list->size - 1;\ - return var_list->size - 1;\ - }\ - if((var_list->current_index >= var_list->size) || !(var_list->current_list)){\ - var_list->current_list = var_list->end_list;\ - var_list->current_index = var_list->size - 1;\ - }\ - long from_current_index = var_list->current_index - index; \ - size_t abs_cur_diff = abs(from_current_index); \ - size_t array_diff_index[3] = {index, abs_cur_diff , var_list->size - 1 - index}; \ - size_t index_nearest = ARG_MIN_ARRAY_TYPE_SIZE_T(array_diff_index, 3);\ - if(index_nearest == 0){\ - var_list->current_list = var_list->begin_list;\ - for(size_t i=0; icurrent_list = (var_list->current_list)->next; \ - }\ - else if(index_nearest == 2){\ - var_list->current_list = var_list->end_list;\ - for(size_t i=0; i < array_diff_index[0]; ++i) var_list->current_list = (var_list->current_list)->preview; \ - }else if(from_current_index >= 0) \ - for(size_t i=0; i < array_diff_index[1]; ++i) var_list->current_list = (var_list->current_list)->preview; \ - else \ - for(size_t i=0; i < array_diff_index[1]; ++i) var_list->current_list = (var_list->current_list)->next; \ - \ - var_list->current_index = index;\ - return index;\ - }\ - void insert_into_list_##type(struct main_list_##type *var_list, size_t index, type value ){\ - struct list_##type * list_to_add = malloc(sizeof(struct list_##type));\ - list_to_add->value = value;\ - if(var_list->begin_list == NULL){\ - list_to_add->preview = NULL;\ - list_to_add->next = NULL;\ - var_list->begin_list = list_to_add;\ - var_list->end_list = list_to_add;\ - var_list->current_list = list_to_add;\ - var_list->current_index = 0;\ - \ - }else {\ - size_t ii = move_current_to_index_list_##type(var_list, index);\ - if(index > ii)\ - printf("%ld out of range, we put the value at %ld index of the list \n",index, ii);\ - if(var_list->current_list){\ - list_to_add->preview = (var_list->current_list)->preview;\ - list_to_add->next = var_list->current_list;\ - if(list_to_add->preview)\ - (list_to_add->preview)->next = list_to_add;\ - else var_list->begin_list = list_to_add;\ - (var_list->current_list)->preview = list_to_add;\ - var_list->current_list = list_to_add;\ - }\ - }\ - ++(var_list->size);\ - }\ - void remove_index_from_list_##type(struct main_list_##type *var_list, size_t index ){\ - if( index == move_current_to_index_list_##type(var_list, index)) {\ - struct list_##type * list_tmp_prev = (var_list->current_list)->preview;\ - struct list_##type * list_tmp_next = (var_list->current_list)->next;\ - if(list_tmp_prev){\ - list_tmp_prev->next = list_tmp_next;\ - if(list_tmp_next) list_tmp_next->preview = list_tmp_prev;\ - }\ - free(var_list->current_list);\ - var_list->current_list = list_tmp_next;\ - --(var_list->size);\ - \ - }\ - }\ - void free_all_var_list_##type(struct main_list_##type *var_list){\ - struct list_##type *tmp = var_list->begin_list;\ - while(tmp){\ - var_list->current_list = tmp;\ - tmp = tmp->next;\ - free(var_list->current_list);\ - }\ - free(var_list);\ - }\ - void increment_list_##type(struct main_list_##type * var_list){\ - var_list->current_list = (var_list->current_list)->next;\ - ++(var_list->current_index);\ - }\ - void decrement_list_##type(struct main_list_##type * var_list){\ - var_list->current_list = (var_list->current_list)->preview;\ - --(var_list->current_index);\ - }\ - -#endif - - -GEN_LIST_ALL(TYPE_CHAR) -GEN_LIST_ALL(TYPE_U_CHAR) -GEN_LIST_ALL(TYPE_INT) -GEN_LIST_ALL(TYPE_U_INT) -GEN_LIST_ALL(TYPE_L_INT) -GEN_LIST_ALL(TYPE_U_L_INT) -GEN_LIST_ALL(TYPE_SIZE_T) -GEN_LIST_ALL(TYPE_FLOAT) -GEN_LIST_ALL(TYPE_DOUBLE) -GEN_LIST_ALL(TYPE_L_DOUBLE) -GEN_LIST_ALL(TYPE_STRING) - -GEN_LIST_ALL(TYPE_PTR) - -GEN_FUNC_PTR_LIST_FREE(TYPE_PTR){ - free(arg); -} diff --git a/list_t/src/list_t/list_t.h b/list_t/src/list_t/list_t.h deleted file mode 100644 index 35b4935..0000000 --- a/list_t/src/list_t/list_t.h +++ /dev/null @@ -1,478 +0,0 @@ -#ifndef __LIST_T_C__H -#define __LIST_T_C__H - -#include - -#include "tools_t/tools_t.h" - -#define TYPE_PTR void* - -#define GENERATE_LIST_ALL(type)\ - struct list_##type {\ - type value;\ - size_t index;\ - struct list_##type *preview;\ - struct list_##type *next;\ - };\ - struct main_list_##type {\ - struct list_##type *begin_list;\ - struct list_##type *current_list;\ - size_t current_index;\ - struct list_##type *end_list;\ - size_t size;\ - pthread_mutex_t *mut_list;\ - };\ - struct main_list_##type *create_var_list_##type();\ - void push_back_list_##type(struct main_list_##type *var_list, type value);\ - void push_front_list_##type(struct main_list_##type *var_list, type value);\ - size_t move_current_to_index_list_##type(struct main_list_##type *var_list, size_t index, struct list_##type **list_in_index);\ - size_t move_current_to_begin_list_##type(struct main_list_##type *var_list);\ - size_t move_current_to_end_list_##type(struct main_list_##type *var_list);\ - size_t insert_into_list_##type(struct main_list_##type *var_list, size_t index, type value );\ - void remove_index_from_list_##type(struct main_list_##type *var_list, size_t index );\ - struct list_##type* pull_index_from_list_##type(struct main_list_##type *var_list, size_t index );\ - void free_all_var_list_##type(struct main_list_##type *var_list);\ - void remove_all_list_in_##type(struct main_list_##type *var_list);\ - void increment_list_##type(struct main_list_##type * var_list);\ - void decrement_list_##type(struct main_list_##type * var_list);\ - struct list_##type * search_first_occ_with_mov_from_curr_in_list_##type(struct main_list_##type *var_list, type value, int (*funcCmp)(type, type), struct list_##type * (*incr_or_decr_mov)(struct list_##type *));\ - struct list_##type * search_first_occ_from_begin_in_list_##type(struct main_list_##type *var_list, type value, int (*funcCmp)(type, type));\ - struct list_##type * search_first_occ_from_end_in_list_##type(struct main_list_##type *var_list, type value, int (*funcCmp)(type, type));\ - struct list_##type * pull_end_from_list_##type(struct main_list_##type *var_list);\ - struct list_##type * pull_begin_from_list_##type(struct main_list_##type *var_list);\ - void append_list_##type(struct main_list_##type *var_list, struct list_##type *list);\ - struct list_##type * local_increment_list_##type(struct list_##type *list);\ - struct list_##type * local_decrement_list_##type(struct list_##type *list);\ - - -GENERATE_LIST_ALL(TYPE_CHAR) -GENERATE_LIST_ALL(TYPE_U_CHAR) -GENERATE_LIST_ALL(TYPE_INT) -GENERATE_LIST_ALL(TYPE_U_INT) -GENERATE_LIST_ALL(TYPE_L_INT) -GENERATE_LIST_ALL(TYPE_U_L_INT) -GENERATE_LIST_ALL(TYPE_SIZE_T) -GENERATE_LIST_ALL(TYPE_FLOAT) -GENERATE_LIST_ALL(TYPE_DOUBLE) -GENERATE_LIST_ALL(TYPE_L_DOUBLE) -GENERATE_LIST_ALL(TYPE_STRING) - -GENERATE_LIST_ALL(TYPE_PTR) - -#define FOR_LIST_FORM_BEGIN(type, var_list)\ - for(move_current_to_begin_list_##type(var_list); var_list->current_list; increment_list_##type(var_list)) - -#define FOR_LIST_FORM_END(type, var_list)\ - for(move_current_to_end_list_##type(var_list); var_list->current_list; decrement_list_##type(var_list)) - - -#define GEN_LIST_ALL(type)\ - \ - struct main_list_##type *create_var_list_##type(){\ - struct main_list_##type *ret_var_list = malloc(sizeof(struct main_list_##type));\ - ret_var_list->begin_list = NULL;\ - ret_var_list->end_list = NULL;\ - ret_var_list->current_list = NULL;\ - ret_var_list->current_index = 0;\ - ret_var_list->size = 0;\ - ret_var_list->mut_list = malloc(sizeof(pthread_mutex_t));\ - pthread_mutex_init(ret_var_list->mut_list, NULL);\ - return ret_var_list;\ - }\ - void push_back_list_##type(struct main_list_##type *var_list, type value){\ - struct list_##type * list_to_add = malloc(sizeof(struct list_##type));\ - list_to_add->value = value;\ - pthread_mutex_lock(var_list->mut_list);\ - list_to_add->index = var_list->size;\ - list_to_add->preview = var_list->end_list;\ - list_to_add->next = NULL;\ - if(var_list->end_list){\ - (var_list->end_list)->next = list_to_add;\ - }else {\ - var_list->begin_list = list_to_add;\ - var_list->current_list= list_to_add;\ - var_list->current_index=0;\ - }\ - var_list->end_list = list_to_add;\ - ++(var_list->size);\ - pthread_mutex_unlock(var_list->mut_list);\ - }\ - void push_front_list_##type(struct main_list_##type *var_list, type value){\ - struct list_##type * list_to_add = malloc(sizeof(struct list_##type));\ - list_to_add->value = value;\ - list_to_add->preview = NULL;\ - pthread_mutex_lock(var_list->mut_list);\ - list_to_add->next = var_list->begin_list;\ - if(var_list->begin_list){\ - (var_list->begin_list)->preview = list_to_add;\ - ++(var_list->current_index);\ - }else {\ - var_list->end_list = list_to_add;\ - var_list->current_list= list_to_add;\ - var_list->current_index=0;\ - }\ - var_list->begin_list = list_to_add;\ - ++(var_list->size);\ - size_t index=0;\ - while(list_to_add){\ - list_to_add->index = index++;\ - list_to_add = list_to_add->next;\ - }\ - pthread_mutex_unlock(var_list->mut_list);\ - }\ - size_t move_current_to_index_list_##type(struct main_list_##type *var_list, size_t index, struct list_##type **list_in_index){\ - pthread_mutex_lock(var_list->mut_list);\ - if(var_list->current_list==NULL) {;\ - if(index <= var_list->size - 1 - index){\ - var_list->current_list = var_list->begin_list;\ - }else{\ - var_list->current_list = var_list->end_list;\ - }\ - }\ - if(index == var_list->current_list->index){\ - if(list_in_index) *list_in_index = var_list->current_list;\ - pthread_mutex_unlock(var_list->mut_list);\ - return index;\ - }\ - if(var_list->begin_list == NULL){\ - if(list_in_index) *list_in_index=NULL;\ - pthread_mutex_unlock(var_list->mut_list);\ - return 0;\ - }\ - if(index >= var_list->size){\ - var_list->current_list = var_list->end_list;\ - var_list->current_index = var_list->size - 1;\ - if(list_in_index) *list_in_index = var_list->current_list;\ - pthread_mutex_unlock(var_list->mut_list);\ - return var_list->current_list->index /*size - 1*/;\ - }\ - /*if((var_list->current_list->index >= var_list->size) || !(var_list->current_list)){\ - var_list->current_list = var_list->end_list;\ - var_list->current_index = var_list->size - 1;\ - }*/\ - long from_current_index = var_list->current_list->index - index; \ - size_t abs_cur_diff = abs(from_current_index); \ - size_t array_diff_index[3] = {index, abs_cur_diff , var_list->size - 1 - index}; \ - size_t index_nearest = ARG_MIN_ARRAY_TYPE_SIZE_T(array_diff_index, 3);\ - if(index_nearest == 0){\ - var_list->current_list = var_list->begin_list;\ - for(size_t i=0; icurrent_list = (var_list->current_list)->next; \ - }\ - else if(index_nearest == 2){\ - var_list->current_list = var_list->end_list;\ - for(size_t i=0; i < array_diff_index[2]; ++i) var_list->current_list = (var_list->current_list)->preview; \ - }else if(from_current_index >= 0) \ - for(size_t i=0; i < array_diff_index[1]; ++i) var_list->current_list = (var_list->current_list)->preview; \ - else \ - for(size_t i=0; i < array_diff_index[1]; ++i) var_list->current_list = (var_list->current_list)->next; \ - \ - var_list->current_index = index;\ - if(list_in_index) *list_in_index = var_list->current_list;\ - pthread_mutex_unlock(var_list->mut_list);\ - return index;\ - }\ - size_t move_current_to_begin_list_##type(struct main_list_##type *var_list){\ - pthread_mutex_lock(var_list->mut_list);\ - if(var_list->begin_list == NULL){\ - pthread_mutex_unlock(var_list->mut_list);\ - return 0;\ - }\ - var_list->current_list = var_list->begin_list;\ - var_list->current_index = 0;\ - pthread_mutex_unlock(var_list->mut_list);\ - return 0;\ - }\ - size_t move_current_to_end_list_##type(struct main_list_##type *var_list){\ - pthread_mutex_lock(var_list->mut_list);\ - if(var_list->end_list == NULL){\ - pthread_mutex_unlock(var_list->mut_list);\ - return 0;\ - }\ - var_list->current_list = var_list->end_list;\ - var_list->current_index = var_list->size - 1;\ - pthread_mutex_unlock(var_list->mut_list);\ - return var_list->current_index;\ - }\ - size_t insert_into_list_##type(struct main_list_##type *var_list, size_t index, type value ){\ - struct list_##type * list_to_add = malloc(sizeof(struct list_##type));\ - size_t ii=0;\ - list_to_add->value = value;\ - if(var_list->begin_list == NULL){\ - pthread_mutex_lock(var_list->mut_list);\ - list_to_add->preview = NULL;\ - list_to_add->next = NULL;\ - var_list->begin_list = list_to_add;\ - var_list->end_list = list_to_add;\ - var_list->current_list = list_to_add;\ - var_list->current_index = 0;\ - \ - }else {\ - struct list_##type *current_list;\ - ii = move_current_to_index_list_##type(var_list, index, ¤t_list);\ - pthread_mutex_lock(var_list->mut_list);\ - if(index > ii)\ - printf("%ld out of range, we put the value at %ld index of the list \n",index, ii);\ - if(current_list){\ - struct list_##type *prev_list = (current_list)->preview;\ - list_to_add->preview = prev_list;\ - list_to_add->next = current_list;\ - if(list_to_add->preview == NULL){\ - var_list->begin_list = list_to_add;\ - }else\ - prev_list->next = list_to_add;\ - if(list_to_add->next == NULL)\ - var_list->end_list = list_to_add;\ - (current_list)->preview = list_to_add;\ - var_list->current_list = list_to_add;\ - var_list->current_index = ii;\ - }\ - }\ - ++(var_list->size);\ - size_t local_ii = ii;\ - while(list_to_add){\ - list_to_add->index = local_ii++;\ - list_to_add = list_to_add->next;\ - }\ - pthread_mutex_unlock(var_list->mut_list);\ - return ii;\ - }\ - void remove_index_from_list_##type(struct main_list_##type *var_list, size_t index ){\ - struct list_##type *current_list;\ - if( index == move_current_to_index_list_##type(var_list, index, ¤t_list)) {\ - pthread_mutex_lock(var_list->mut_list);\ - struct list_##type * list_tmp_prev = (current_list)->preview;\ - struct list_##type * list_tmp_next = (current_list)->next;\ - if(list_tmp_prev){\ - list_tmp_prev->next = list_tmp_next;\ - if(list_tmp_next){\ - list_tmp_next->preview = list_tmp_prev;\ - var_list->current_list = list_tmp_next;\ - }\ - else {\ - var_list->end_list = list_tmp_prev;\ - var_list->current_list = list_tmp_prev;\ - }\ - }else{\ - var_list->begin_list = list_tmp_next;\ - if(list_tmp_next) {\ - list_tmp_next->preview = list_tmp_prev;\ - }\ - else{\ - var_list->end_list = NULL;\ - var_list->current_list = NULL;\ - }\ - }\ - free(current_list);\ - --(var_list->size);\ - while(list_tmp_next){\ - list_tmp_next->index = index++;\ - list_tmp_next=list_tmp_next->next;\ - }\ - pthread_mutex_unlock(var_list->mut_list);\ - }\ - }\ - struct list_##type * pull_index_from_list_##type(struct main_list_##type *var_list, size_t index ){\ - struct list_##type *current_list=NULL;\ - if( index == move_current_to_index_list_##type(var_list, index, ¤t_list)) {\ - pthread_mutex_lock(var_list->mut_list);\ - struct list_##type * list_tmp_prev = (current_list)->preview;\ - struct list_##type * list_tmp_next = (current_list)->next;\ - if(list_tmp_prev){\ - list_tmp_prev->next = list_tmp_next;\ - if(list_tmp_next){\ - list_tmp_next->preview = list_tmp_prev;\ - var_list->current_list = list_tmp_next;\ - }\ - else {\ - var_list->end_list = list_tmp_prev;\ - var_list->current_list = list_tmp_prev;\ - }\ - }else{\ - var_list->begin_list = list_tmp_next;\ - if(list_tmp_next) {\ - list_tmp_next->preview = list_tmp_prev;\ - }\ - else{\ - var_list->end_list = NULL;\ - var_list->current_list = NULL;\ - }\ - }\ - --(var_list->size);\ - while(list_tmp_next){\ - list_tmp_next->index = index++;\ - list_tmp_next=list_tmp_next->next;\ - }\ - pthread_mutex_unlock(var_list->mut_list);\ - }\ - return current_list;\ - }\ - void remove_all_list_in_##type(struct main_list_##type *var_list){\ - pthread_mutex_lock(var_list->mut_list);\ - struct list_##type *tmp = var_list->begin_list, *prec_tmp;\ - while(tmp){\ - prec_tmp = tmp;\ - tmp = tmp->next;\ - free(prec_tmp);\ - }\ - var_list->begin_list = NULL;\ - var_list->current_list = NULL;\ - var_list->end_list = NULL;\ - var_list->size = 0;\ - var_list->current_index = 0;\ - pthread_mutex_unlock(var_list->mut_list);\ - }\ - void free_all_var_list_##type(struct main_list_##type *var_list){\ - remove_all_list_in_##type(var_list);\ - pthread_mutex_destroy(var_list->mut_list);\ - free(var_list->mut_list);\ - free(var_list);\ - }\ - void increment_list_##type(struct main_list_##type * var_list){\ - pthread_mutex_lock(var_list->mut_list);\ - var_list->current_list = (var_list->current_list)->next;\ - ++(var_list->current_index);\ - pthread_mutex_unlock(var_list->mut_list);\ - }\ - void decrement_list_##type(struct main_list_##type * var_list){\ - pthread_mutex_lock(var_list->mut_list);\ - var_list->current_list = (var_list->current_list)->preview;\ - --(var_list->current_index);\ - pthread_mutex_unlock(var_list->mut_list);\ - }\ - struct list_##type * local_increment_list_##type(struct list_##type *list){\ - if(list) return list->next;\ - return NULL;\ - }\ - struct list_##type * local_decrement_list_##type(struct list_##type *list){\ - if (list) return list->preview;\ - return NULL;\ - }\ - struct list_##type * search_first_occ_with_mov_from_curr_in_list_##type(struct main_list_##type *var_list, type value, int (*funcCmp)(type, type), struct list_##type * (*incr_or_decr_mov)(struct list_##type *)){\ - pthread_mutex_lock(var_list->mut_list);\ - for(struct list_##type *list_cur = var_list->current_list; list_cur; list_cur = incr_or_decr_mov(list_cur)){\ - if(0 == funcCmp(value, list_cur->value)){\ - pthread_mutex_unlock(var_list->mut_list);\ - return list_cur;\ - }\ - }\ - pthread_mutex_unlock(var_list->mut_list);\ - return NULL;\ - }\ - struct list_##type * search_first_occ_from_begin_in_list_##type(struct main_list_##type *var_list, type value, int (*funcCmp)(type, type)){\ - pthread_mutex_lock(var_list->mut_list);\ - /*printf("debug: cur_index change to 0");*/\ - var_list->current_list = var_list->begin_list;\ - pthread_mutex_unlock(var_list->mut_list);\ - return search_first_occ_with_mov_from_curr_in_list_##type(var_list, value, funcCmp, local_increment_list_##type);\ - }\ - struct list_##type * search_first_occ_from_end_in_list_##type(struct main_list_##type *var_list, type value, int (*funcCmp)(type, type)){\ - pthread_mutex_lock(var_list->mut_list);\ - /*printf("debug: cur_index change to end");*/\ - var_list->current_list = var_list->end_list;\ - pthread_mutex_unlock(var_list->mut_list);\ - return search_first_occ_with_mov_from_curr_in_list_##type(var_list, value, funcCmp, local_decrement_list_##type);\ - }\ - struct list_##type * pull_end_from_list_##type(struct main_list_##type *var_list){\ - pthread_mutex_lock(var_list->mut_list);\ - struct list_##type *ret = var_list->end_list;\ - if(ret != NULL){\ - struct list_##type * prevL = ret->preview;\ - if(prevL != NULL){\ - prevL->next=NULL;\ - }else{\ - var_list->begin_list=NULL;\ - var_list->current_index = 0;\ - var_list->current_list=NULL;\ - }\ - var_list->end_list = prevL;\ - --(var_list->size);\ - ret->preview = NULL;\ - }\ - pthread_mutex_unlock(var_list->mut_list);\ - return ret;\ - }\ - struct list_##type * pull_begin_from_list_##type(struct main_list_##type *var_list){\ - pthread_mutex_lock(var_list->mut_list);\ - struct list_##type *ret = var_list->begin_list;\ - if(ret != NULL){\ - struct list_##type * nextL = ret->next;\ - if(nextL != NULL){\ - nextL->preview=NULL;\ - }else{\ - var_list->end_list=NULL;\ - var_list->current_index = 0;\ - var_list->current_list=NULL;\ - }\ - var_list->begin_list = nextL;\ - --(var_list->size);\ - ret->next = NULL;\ - }\ - struct list_##type *tmp = var_list->begin_list;\ - while(tmp){ --(tmp->index); tmp=tmp->next;}\ - pthread_mutex_unlock(var_list->mut_list);\ - return ret;\ - }\ - void append_list_##type(struct main_list_##type *var_list, struct list_##type *list){\ - pthread_mutex_lock(var_list->mut_list);\ - list->index = var_list->size;\ - if(var_list->end_list == NULL){\ - list->preview = NULL;\ - var_list->end_list = list;\ - var_list->begin_list = list;\ - var_list->current_list = list;\ - var_list->current_index = 0;\ - }else{\ - var_list->end_list->next = list;\ - list->preview = var_list->end_list;\ - var_list->end_list = list;\ - }\ - ++(var_list->size);\ - pthread_mutex_unlock(var_list->mut_list);\ - }\ - - -#define GEN_HEAD_PTR_LIST(type)\ - void remove_all_ptr_type_list_##type(struct main_list_##type *var_list);\ - void purge_ptr_type_list_##type(struct main_list_##type *var_list);\ - void free_##type(type arg);\ - - - -#define GEN_FUNC_PTR_LIST_FREE(type)\ - void remove_all_ptr_type_list_##type(struct main_list_##type *var_list){\ - pthread_mutex_lock(var_list->mut_list);\ - struct list_##type *tmp = var_list->begin_list, *prec_tmp;\ - while(tmp){\ - prec_tmp = tmp;\ - tmp = tmp->next;\ - free_##type(prec_tmp->value);\ - free(prec_tmp);\ - }\ - var_list->begin_list = NULL;\ - var_list->current_list = NULL;\ - var_list->end_list = NULL;\ - var_list->size = 0;\ - var_list->current_index = 0;\ - pthread_mutex_unlock(var_list->mut_list);\ - }\ - void purge_ptr_type_list_##type(struct main_list_##type *var_list){\ - remove_all_ptr_type_list_##type(var_list);\ - pthread_mutex_destroy(var_list->mut_list);\ - free(var_list->mut_list);\ - free(var_list);\ - }\ - \ - void free_##type(type arg)\ - - -GEN_HEAD_PTR_LIST(TYPE_PTR) - - -#define LIST_T(type) \ - GENERATE_LIST_ALL(type)\ - GEN_LIST_ALL(type) - - - -#endif /* __LIST_T_C__H */ - diff --git a/list_t/src/list_t/list_t.o b/list_t/src/list_t/list_t.o deleted file mode 100644 index bbe729fdc32a215ba275c54a8cce6000e9b6cb77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101768 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 A8UO$Q diff --git a/list_t/test/Makefile b/list_t/test/Makefile deleted file mode 100644 index ce2f155..0000000 --- a/list_t/test/Makefile +++ /dev/null @@ -1,60 +0,0 @@ -# file list_t/test/Makefile - -ROOTPROJECTDIR:=$(realpath ../..) - -NAME_TEST=is_good -CC=gcc -ROOT_DIR=$(ROOTPROJECTDIR)/list_t -YTESTDIR=$(ROOTPROJECTDIR)/ytest_t - -INCLUDE_DIR=$(ROOT_DIR)/src -CFLAGS=-I$(INCLUDE_DIR) -I$(YTESTDIR)/include_ytest/include -LDFLAGS=-L$(YTESTDIR) -lytest - -#SRC_DIR=$(ROOT_DIR)/src -#SRC=$(wildcard */*/*.c) -SRC=$(wildcard **/**/*.c) -#HEADS=$(OBJS:.o=.h) -TEST_DIR=$(ROOT_DIR)/test -EXECSRC=$(NAME_TEST).c -EXEC=launch_$(NAME_TEST)_m - -LISTDIR=$(ROOT_DIR) - -LISTSRC_O=$(LISTDIR)/src/list_t/list_t.o - -TOPTARGETS := all clean - -DEPS=$(LISTDIR) $(YTESTDIR) - -$(TOPTARGETS): $(DEPS) - -$(DEPS): - $(MAKE) -C $@ $(MAKECMDGOALS) - - -#LISTSRC_O=$(LISTSRC:.c=.o) -#SETTSRC_O=$(PWD)/../src/set_theoric_t/set_theoric_t.o -#SETTSRC_O=$(SETTSRC:.c=.o) -#TOOLSRC=$(TOOLDIR)/src/tools_t/tools_t.c -#TOOLSRC_O=$(TOOLSRC:.c=.o) - -OBJ=$(SRC:.c=.o) $(LISTSRC_O) - -LIB_YTEST=$(YTESTDIR)/libytest.so - -all: $(EXEC) $(LIB_YTEST) - -$(EXEC): $(EXECSRC) $(OBJ) - $(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS) - -.PHONY: clean mrproper - -clean: - rm -f $(OBJ) - -mrproper: clean - rm -f $(EXEC) - -run: $(EXEC) - $(EXEC) -h diff --git a/list_t/test/compile.sh b/list_t/test/compile.sh deleted file mode 100755 index 91c319a..0000000 --- a/list_t/test/compile.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -if [ "$#" -le 0 ] ; then - echo "Usage: $0 is_good.c" >&2 - echo "for example to compile: is_good.c" >&2 - exit 1 -fi -if [ "$#" -le 1 ] ; then - echo "Usage: $0 $1" >&2 - echo " we can add more option for example '-D DEBUG=1' to have debug print, '-D HK' to have gtest like prompt, od '-g' to gbd" >&2 - echo "for example: $0 $1 \"-D DEBUG=1 -D HK -g\"" -fi - -DIR_YTEST=$PWD/../../ytest_t -SRC=../src - -gcc -o launch_is_good_c $1 -L$DIR_YTEST $2 -lytest -I$DIR_YTEST/include_ytest/include $SRC/list_t/list_t.c -I$SRC -#gcc -o launch_is_good_c $1 $2 -lytest -I../include_ytest src/list_t/list_t.o src/set_theoric_t/set_theoric_t.o -I./src - -export LD_LIBRARY_PATH=$DIR_YTEST/:LD_LIBRARY_PATH - - -#gcc $1 src/ftest/ftest.c src/fmock/fmock.c src/tools_t/tools_t.c src/bar_progress/bar_progress.c src/list_t/list_t.c src/set_theoric_t/set_theoric_t.c -I./include $2 -o launch_is_good_c -lpthread