lots of stuff

This commit is contained in:
Joseph Redmon
2015-09-04 17:52:44 -07:00
parent 8bcdee8658
commit b5936b499a
21 changed files with 529 additions and 78 deletions

View File

@ -8,6 +8,29 @@
#include "utils.h"
void sorta_shuffle(void *arr, size_t n, size_t size, size_t sections)
{
size_t i;
for(i = 0; i < sections; ++i){
size_t start = n*i/sections;
size_t end = n*(i+1)/sections;
size_t num = end-start;
shuffle(arr+(start*size), num, size);
}
}
void shuffle(void *arr, size_t n, size_t size)
{
size_t i;
void *swp = calloc(1, size);
for(i = 0; i < n-1; ++i){
size_t j = i + rand()/(RAND_MAX / (n-i)+1);
memcpy(swp, arr+(j*size), size);
memcpy(arr+(j*size), arr+(i*size), size);
memcpy(arr+(i*size), swp, size);
}
}
void del_arg(int argc, char **argv, int index)
{
int i;