Example #1
0
void d001s(
//#pragma omp declaration m
    int m,
//#pragma omp declaration n
    int n,
//#pragma omp declaration a
    int *a,
//#pragma omp declaration b
    int *b,
//#pragma omp declaration y
    int *y,
//#pragma omp declaration z
    int *z)
{
//#pragma omp declaration i
    int i;
    #pragma omp parallel private(i) shared(m,n,a,b,y,z)
    {
        #pragma omp for nowait
        for( i = 1 ; i < n ; i++ ) {
            b[i] = (a[i] + a[i-1]) / 2;
        }
        #pragma omp for nowait
        for( i = 1 ; i <= m ; i++ ) {
            y[i] = sqrt_func(z[i]);
        }
    }
}
Example #2
0
File: data.c Project: amumu/nokuno
static void
print_coordinate_polar(FILE *fp, vector_t p)
{
    data_t r, th, ph;

    r = norm(p);
    th = atan_func(sqrt_func(sq(p.x)+sq(p.y))/p.z)/pi*180.0;
    ph = atan_func(p.y/p.x)/pi*180.0;
    ph += (p.x < 0.0) ? 180.0 : (p.y < 0.0) ? 360.0 : 0.0;

    fprintf(fp, "%.20g %.20g %.20g", r, th, ph);
}
Example #3
0
File: data.c Project: amumu/nokuno
static data_t
quality_index(vector_t a[], vector_t b[])
{
    data_t n1, n2;
    vector_t tmp;
    int i;

    n1 = n2 = 0.0;
    for (i = 0; i < N; i++) {
        n1 += norm2(a[i]);

        tmp.x = b[i].x-a[i].x;
        tmp.y = b[i].y-a[i].y;
        tmp.z = b[i].z-a[i].z;
        n2 += norm2(tmp);
    }

    return sqrt_func(n2/n1);
}
Example #4
0
File: data.c Project: amumu/nokuno
static __inline data_t
rand_normal()
{
    static data_t next;
    static int dup = 0;
    data_t t, u;

    if (dup) {
        dup = 0;
        return next;
    }
    else {
        t = sigma*sqrt_func(-2.0*log_func(1.0-rand_regular()));
        u = 2.0*pi*rand_regular();

        dup = 1;
        next = m+t*sin_func(u);
        return m+t*cos_func(u);
    }
}
Example #5
0
File: data.c Project: amumu/nokuno
static __inline data_t
norm(vector_t p)
{
    return sqrt_func(norm2(p));
}