>>106389596
yeah then why you try to recenter the discussion on static analysis?
i mean
thats rhetorical
rusts assurances falls flat when you factor in real life use parameters
i dont need static analysis
i have rigorous methods
the nr1 error in my code, by occurence, is infinite loops
because i eliminated everything else
the nr2 error is mistakes in interfacing with syscalls but thats because the documentation is shit, but thats another can of worms
this eliminates 99% of what rust has to offer
and the remaining 1% is not worth it when i have to fight the fucking red fucking tape
picrel is a bucketsort
actually an american star flag something sort
a bucketsort where you sort one byte at a time
post the equivalent in rust
afterwards we will get into the intricacies, because theres nuance to the way memory is structured
it took me 2 lines to set that up
we will compare what it takes in rust to do the same
#include "nouvo.digitize.h"
#define DATA_ORDER_PATHS_ITERATIONS 4
__attribute__((always_inline)) inline void data_order_paths_reset(t_list *list)
{
list->first = 0;
list->last = 0;
list->count = 0;
}
size_t data_order_paths(t_list *src_list)
{
t_list table[256] = {0};
int i = 0;
while (i < DATA_ORDER_PATHS_ITERATIONS)
{
t_cell_path* current = (t_cell_path *)(src_list->first);
t_cell_path* next;
int c = 0;
while (current)
{
next = current->next;
c = (current->timestamp.c)[i];
data_get_path_append(&(table[c]), current);
current = next;
}
data_order_paths_reset(src_list);
c = 0;
while (c <= 255)
{
current = (t_cell_path *)(table[c].first);
while (current)
{
next = current->next;
data_get_path_append(src_list, current);
current = next;
}
data_order_paths_reset(&(table[c]));
c++;
}
i++;
}
}