mirror of
https://github.com/OpenMP/Examples.git
synced 2025-04-10 08:22:11 +01:00
31 lines
556 B
C
31 lines
556 B
C
/*
|
|
* @@name: unroll.3
|
|
* @@type: C
|
|
* @@operation: compile
|
|
* @@expect: success
|
|
* @@version: omp_5.1
|
|
*/
|
|
void unroll3_partial(double A[])
|
|
{
|
|
#pragma omp unroll partial(4)
|
|
for (int i = 0; i < 128; ++i)
|
|
A[i] = 0;
|
|
}
|
|
|
|
void unroll3_partial_equivalent(double A[])
|
|
{
|
|
for (int i_iv = 0; i_iv < 32; ++i_iv) {
|
|
A[i_iv * 4 + 0] = 0;
|
|
A[i_iv * 4 + 1] = 0;
|
|
A[i_iv * 4 + 2] = 0;
|
|
A[i_iv * 4 + 3] = 0;
|
|
}
|
|
}
|
|
|
|
void unroll3_partial_nofactor(double A[])
|
|
{
|
|
#pragma omp unroll partial
|
|
for (int i = 0; i < 128; ++i)
|
|
A[i] = 0;
|
|
}
|