aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_sort_s_t.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ft_sort_s_t.c')
-rw-r--r--src/ft_sort_s_t.c18
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];