Joseph Redmon
2013-12-10 ad9dbfe16495204453b1b7f8593d320751f76ca0
src/utils.c
@@ -180,6 +180,35 @@
    sigma = sqrt(variance_array(a,n));
}
void translate_array(double *a, int n, double s)
{
    int i;
    for(i = 0; i < n; ++i){
        a[i] += s;
    }
}
void scale_array(double *a, int n, double s)
{
    int i;
    for(i = 0; i < n; ++i){
        a[i] *= s;
    }
}
int max_index(double *a, int n)
{
    if(n <= 0) return -1;
    int i, max_i = 0;
    double max = a[0];
    for(i = 1; i < n; ++i){
        if(a[i] > max){
            max = a[i];
            max_i = i;
        }
    }
    return max_i;
}
double rand_normal()
{
    int i;
@@ -187,3 +216,16 @@
    for(i = 0; i < 12; ++i) sum += (double)rand()/RAND_MAX;
    return sum-6.;
}
double **one_hot_encode(double *a, int n, int k)
{
    int i;
    double **t = calloc(n, sizeof(double*));
    for(i = 0; i < n; ++i){
        t[i] = calloc(k, sizeof(double));
        int index = (int)a[i];
        t[i][index] = 1;
    }
    return t;
}