diff options
Diffstat (limited to 'src/ft_sort_s_t.c')
-rw-r--r-- | src/ft_sort_s_t.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/ft_sort_s_t.c b/src/ft_sort_s_t.c index 31ae237..9cbde8b 100644 --- a/src/ft_sort_s_t.c +++ b/src/ft_sort_s_t.c @@ -34,6 +34,19 @@ float } static void + ft_init_st(int32_t *st_o) +{ + int8_t i; + + i = 0; + while (i < FT_TOTAL_SPRT) + { + st_o[i] = i; + i++; + } +} + +static void ft_swap_them(int16_t i, float **dist_tab) { float tmp_i[4096]; @@ -50,10 +63,11 @@ void int32_t tmp; i = -1; + ft_init_st(cl->mlist.st_o); while (++i < FT_TOTAL_SPRT) { - cl->mlist.st_o[i] = i; - if (dist_tab[i][0] < dist_tab[i + 1][0]) + if (i < FT_TOTAL_SPRT && dist_tab[i][0] + && dist_tab[i][0] < dist_tab[i + 1][0]) { tmp = cl->mlist.st_o[i]; cl->mlist.st_o[i] = cl->mlist.st_o[i + 1]; |