X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=svrt.git;a=blobdiff_plain;f=misc.h;h=e3dbab2e577485ebbab2a6a48f54c47a3f75c7c3;hp=e9cabf45e4808ab6914b3bbe07dc4d0cafe6fca0;hb=4cbdf193cd4e79a68e10a651825d089369e6214d;hpb=5e916ecb2dc62017cd81e293e8d492dbdf56f82e diff --git a/misc.h b/misc.h index e9cabf4..e3dbab2 100644 --- a/misc.h +++ b/misc.h @@ -67,30 +67,12 @@ void deallocate_array(T **array) { delete[] array; } -template -T smooth_min(T x, T y) { - T z = exp(x - y); - return 0.5 * (x + y - (x - y)/(1 + 1/z) - (y - x)/(1 + z)); -} - template void write_var(ostream *os, const T *x) { os->write((char *) x, sizeof(T)); } template void read_var(istream *is, T *x) { is->read((char *) x, sizeof(T)); } -template -void grow(int *nb_max, int nb, T** current, int factor) { - ASSERT(*nb_max > 0); - if(nb == *nb_max) { - T *tmp = new T[*nb_max * factor]; - memcpy(tmp, *current, *nb_max * sizeof(T)); - delete[] *current; - *current = tmp; - *nb_max *= factor; - } -} - template inline T sq(T x) { return x * x; @@ -100,23 +82,4 @@ inline scalar_t log2(scalar_t x) { return log(x)/log(2.0); } -inline scalar_t xi(scalar_t x) { - if(x <= 0.0) return 0.0; - else return - x * log(x)/log(2.0); -} - -scalar_t discrete_entropy(int *n, int nb); - -char *next_word(char *buffer, char *r, int buffer_size); - -void random_permutation(int *val, int nb); -void tag_subset(bool *val, int nb_total, int nb_to_tag); - -struct Couple { - int index; - scalar_t value; -}; - -int compare_couple(const void *a, const void *b); - #endif