diff --git a/list_t/list_t.h b/list_t/list_t.h index 96c4de8..dccfdf6 100644 --- a/list_t/list_t.h +++ b/list_t/list_t.h @@ -70,6 +70,9 @@ GENERATE_LIST_ALL(TYPE_PTR) #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 ABS(x) ((x)>0) ? (x) : (-1*(x)) + + #define IMPLEMENTATION_LIST(type)\ \ @@ -146,20 +149,20 @@ GENERATE_LIST_ALL(TYPE_PTR) 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);\ + long abs_cur_diff = ABS(from_current_index); \ + long array_diff_index[3] = {index, abs_cur_diff , var_list->size - 1 - index}; \ + long 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; \ + for(long 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; \ + for(long 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; \ + for(long 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; \ + for(long 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;\