Software: Apache. PHP/5.4.45 

uname -a: Linux webm056.cluster010.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue
Sep 17 08:14:20 UTC 2024 x86_64
 

uid=243112(mycochar) gid=100(users) groups=100(users)  

Safe-mode: OFF (not secure)

/home/mycochar/www/image/photo/gcc-12.3.0/libgomp/testsuite/libgomp.c++/   drwxr-xr-x
Free 0 B of 0 B (0%)
Your ip: 216.73.216.77 - Server ip: 213.186.33.19
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    

[Enumerate]    [Encoder]    [Tools]    [Proc.]    [FTP Brute]    [Sec.]    [SQL]    [PHP-Code]    [Backdoor Host]    [Back-Connection]    [milw0rm it!]    [PHP-Proxy]    [Self remove]
    


Viewing file:     taskloop-reduction-4.C (9.67 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
extern "C" void abort ();

struct S { S (); S (long int, long int); ~S (); static int cnt1, cnt2, cnt3; long int s, t; };

int S::cnt1;
int S::cnt2;
int S::cnt3;

S::S ()
{
  #pragma omp atomic
  cnt1++;
}

S::S (long int x, long int y) : s (x), t (y)
{
  #pragma omp atomic update
  ++cnt2;
}

S::~S ()
{
  #pragma omp atomic
  cnt3 = cnt3 + 1;
  if (t < 3 || t > 9 || (t & 1) == 0)
    abort ();
}

void
bar (S *p, S *o)
{
  p->s = 1;
  if (o->t != 5)
    abort ();
  p->t = 9;
}

static inline void
baz (S *o, S *i)
{
  if (o->t != 5 || i->t != 9)
    abort ();
  o->s *= i->s;
}

#pragma omp declare reduction (+: S : omp_out.s += omp_in.s) initializer (omp_priv (0, 3))
#pragma omp declare reduction (*: S : baz (&omp_out, &omp_in)) initializer (bar (&omp_priv, &omp_orig))

S a[2] = { { 0, 7 }, { 0, 7 } };
S b[7] = { { 9, 5 }, { 11, 5 }, { 1, 5 }, { 1, 5 }, { 1, 5 }, { 13, 5 }, { 15, 5 } };
S e[3] = { { 5, 7 }, { 0, 7 }, { 5, 7 } };
S f[5] = { { 6, 7 }, { 7, 7 }, { 0, 7 }, { 0, 7 }, { 9, 7 } };
S g[4] = { { 1, 7 }, { 0, 7 }, { 0, 7 }, { 2, 7 } };
S h[3] = { { 0, 7 }, { 1, 7 }, { 4, 7 } };
S k[4][2] = { { { 5, 7 }, { 6, 7 } }, { { 0, 7 }, { 0, 7 } }, { { 0, 7 }, { 0, 7 } }, { { 7, 7 }, { 8, 7 } } };
S *s;
S (*t)[2];

template <int N>
void
foo (int n, S *c, S *d, S m[3], S *r, S o[4], S *p, S q[4][2])
{
  int i;
  #pragma omp taskloop in_reduction (+: a, c[:2]) in_reduction (*: b[2 * n:3 * n], d[0:2]) \
               reduction (default, +: o[n:n*2], m[1], p[0]) in_reduction (+: k[1:2][:], f[2:2]) \
               reduction (+: q[1:2][:], r[2:2]) in_reduction (+: g[n:n*2], e[1], h[0]) \
               in_reduction (*: s[1:2], t[2:2][:])
  for (i = 0; i < 2; i++)
    {
      a[0].s += 7;
      a[1].s += 17;
      b[2].s *= 2;
      b[4].s *= 2;
      c[0].s += 6;
      d[1].s *= 2;
      e[1].s += 19;
      f[2].s += 21;
      f[3].s += 23;
      g[1].s += 25;
      g[2].s += 27;
      h[0].s += 29;
      k[1][0].s += 31;
      k[2][1].s += 33;
      m[1].s += 19;
      r[2].s += 21;
      r[3].s += 23;
      o[1].s += 25;
      o[2].s += 27;
      p[0].s += 29;
      q[1][0].s += 31;
      q[2][1].s += 33;
      s[1].s *= 2;
      t[2][0].s *= 2;
      t[3][1].s *= 2;
      if ((e[1].t != 7 && e[1].t != 3) || (h[0].t != 7 && h[0].t != 3)
      || (m[1].t != 7 && m[1].t != 3) || (p[0].t != 7 && p[0].t != 3))
    abort ();
      for (int z = 0; z < 2; z++)
    if ((a[z].t != 7 && a[z].t != 3) || (c[z].t != 7 && c[z].t != 3)
        || (d[z].t != 5 && d[z].t != 9) || (f[z + 2].t != 7 && f[z + 2].t != 3)
        || (g[z + 1].t != 7 && g[z + 1].t != 3) || (r[z + 2].t != 7 && r[z + 2].t != 3)
        || (s[z + 1].t != 5 && s[z + 1].t != 9) || (o[z + 1].t != 7 && o[z + 1].t != 3)
        || (k[z + 1][0].t != 7 && k[z + 1][0].t != 3) || (k[z + 1][1].t != 7 && k[z + 1][1].t != 3)
        || (q[z + 1][0].t != 7 && q[z + 1][0].t != 3) || (q[z + 1][1].t != 7 && q[z + 1][1].t != 3)
        || (t[z + 2][0].t != 5 && t[z + 2][0].t != 9) || (t[z + 2][1].t != 5 && t[z + 2][1].t != 9))
      abort ();
      for (int z = 0; z < 3; z++)
    if (b[z + 2].t != 5 && b[z + 2].t != 9)
      abort ();
    }
}

template <typename T>
void
test (int n)
{
  T c[2] = { { 0, 7 }, { 0, 7 } };
  T p[3] = { { 0, 7 }, { 1, 7 }, { 4, 7 } };
  T q[4][2] = { { { 5, 7 }, { 6, 7 } }, { { 0, 7 }, { 0, 7 } }, { { 0, 7 }, { 0, 7 } }, { { 7, 7 }, { 8, 7 } } };
  T ss[4] = { { 5, 5 }, { 1, 5 }, { 1, 5 }, { 6, 5 } };
  T tt[5][2] = { { { 9, 5 }, { 10, 5 } }, { { 11, 5 }, { 12, 5 } }, { { 1, 5 }, { 1, 5 } }, { { 1, 5 }, { 1, 5 } }, { { 13, 5 }, { 14, 5 } } };
  s = ss;
  t = tt;
  #pragma omp parallel
  #pragma omp single
  {
    T d[] = { { 1, 5 }, { 1, 5 } };
    T m[3] = { { 5, 7 }, { 0, 7 }, { 5, 7 } };
    T r[5] = { { 6, 7 }, { 7, 7 }, { 0, 7 }, { 0, 7 }, { 9, 7 } };
    T o[4] = { { 1, 7 }, { 0, 7 }, { 0, 7 }, { 2, 7 } };
    int i;
    #pragma omp taskloop reduction (+: a, c) reduction (default, *: b[2 * n:3 * n], d) \
             reduction (+: e[1], f[2:2], g[n:n*2], h[0], k[1:2][0:2]) \
             reduction (+: o[n:n*2], m[1], q[1:2][:], p[0], r[2:2]) \
             reduction (*: t[2:2][:], s[1:n + 1])
    for (i = 0; i < 4; i++)
      {
    int j;
    a[0].s += 2;
    a[1].s += 3;
    b[2].s *= 2;
    f[3].s += 8;
    g[1].s += 9;
    g[2].s += 10;
    h[0].s += 11;
    k[1][1].s += 13;
    k[2][1].s += 15;
    m[1].s += 16;
    r[2].s += 8;
    s[1].s *= 2;
    t[2][1].s *= 2;
    t[3][1].s *= 2;
    if ((e[1].t != 7 && e[1].t != 3) || (h[0].t != 7 && h[0].t != 3)
         || (m[1].t != 7 && m[1].t != 3) || (p[0].t != 7 && p[0].t != 3))
      abort ();
    for (int z = 0; z < 2; z++)
      if ((a[z].t != 7 && a[z].t != 3) || (c[z].t != 7 && c[z].t != 3)
           || (d[z].t != 5 && d[z].t != 9) || (f[z + 2].t != 7 && f[z + 2].t != 3)
           || (g[z + 1].t != 7 && g[z + 1].t != 3) || (r[z + 2].t != 7 && r[z + 2].t != 3)
           || (s[z + 1].t != 5 && s[z + 1].t != 9) || (o[z + 1].t != 7 && o[z + 1].t != 3)
           || (k[z + 1][0].t != 7 && k[z + 1][0].t != 3) || (k[z + 1][1].t != 7 && k[z + 1][1].t != 3)
           || (q[z + 1][0].t != 7 && q[z + 1][0].t != 3) || (q[z + 1][1].t != 7 && q[z + 1][1].t != 3)
           || (t[z + 2][0].t != 5 && t[z + 2][0].t != 9) || (t[z + 2][1].t != 5 && t[z + 2][1].t != 9))
        abort ();
    for (int z = 0; z < 3; z++)
      if (b[z + 2].t != 5 && b[z + 2].t != 9)
        abort ();
    #pragma omp taskloop in_reduction (+: a, c[:2]) \
                 in_reduction (*: b[2 * n:3 * n], d[n - 1:n + 1]) \
                 in_reduction (+: e[1], f[2:2], g[n:n*2], h[0], k[1:2][:2]) \
                 in_reduction (+: m[1], r[2:2], o[n:n*2], p[0], q[1:2][:2]) \
                 in_reduction (*: s[n:2], t[2:2][:]) nogroup
    for (j = 0; j < 2; j++)
      {
        m[1].s += 6;
        r[2].s += 7;
        q[1][0].s += 17;
        q[2][0].s += 19;
        a[0].s += 4;
        a[1].s += 5;
        b[3].s *= 2;
        b[4].s *= 2;
        f[3].s += 18;
        g[1].s += 29;
        g[2].s += 18;
        h[0].s += 19;
        s[2].s *= 2;
        t[2][0].s *= 2;
        t[3][0].s *= 2;
        foo<0> (n, c, d, m, r, o, p, q);
        if ((e[1].t != 7 && e[1].t != 3) || (h[0].t != 7 && h[0].t != 3)
         || (m[1].t != 7 && m[1].t != 3) || (p[0].t != 7 && p[0].t != 3))
          abort ();
        for (int z = 0; z < 2; z++)
          if ((a[z].t != 7 && a[z].t != 3) || (c[z].t != 7 && c[z].t != 3)
           || (d[z].t != 5 && d[z].t != 9) || (f[z + 2].t != 7 && f[z + 2].t != 3)
           || (g[z + 1].t != 7 && g[z + 1].t != 3) || (r[z + 2].t != 7 && r[z + 2].t != 3)
           || (s[z + 1].t != 5 && s[z + 1].t != 9) || (o[z + 1].t != 7 && o[z + 1].t != 3)
           || (k[z + 1][0].t != 7 && k[z + 1][0].t != 3) || (k[z + 1][1].t != 7 && k[z + 1][1].t != 3)
           || (q[z + 1][0].t != 7 && q[z + 1][0].t != 3) || (q[z + 1][1].t != 7 && q[z + 1][1].t != 3)
           || (t[z + 2][0].t != 5 && t[z + 2][0].t != 9) || (t[z + 2][1].t != 5 && t[z + 2][1].t != 9))
        abort ();
        for (int z = 0; z < 3; z++)
          if (b[z + 2].t != 5 && b[z + 2].t != 9)
        abort ();
        r[3].s += 18;
        o[1].s += 29;
        o[2].s += 18;
        p[0].s += 19;
        c[0].s += 4;
        c[1].s += 5;
        d[0].s *= 2;
        e[1].s += 6;
        f[2].s += 7;
        k[1][0].s += 17;
        k[2][0].s += 19;
      }
    r[3].s += 8;
    o[1].s += 9;
    o[2].s += 10;
    p[0].s += 11;
    q[1][1].s += 13;
    q[2][1].s += 15;
    b[3].s *= 2;
    c[0].s += 4;
    c[1].s += 9;
    d[0].s *= 2;
    e[1].s += 16;
    f[2].s += 8;
      }
    if (d[0].s != 1LL << (8 + 4)
    || d[1].s != 1LL << 16
    || m[0].s != 5
    || m[1].s != 19 * 16 + 6 * 8 + 16 * 4
    || m[2].s != 5
    || r[0].s != 6
    || r[1].s != 7
    || r[2].s != 21 * 16 + 7 * 8 + 8 * 4
    || r[3].s != 23 * 16 + 18 * 8 + 8 * 4
    || r[4].s != 9
    || o[0].s != 1
    || o[1].s != 25 * 16 + 29 * 8 + 9 * 4
    || o[2].s != 27 * 16 + 18 * 8 + 10 * 4
    || o[3].s != 2)
      abort ();
    if (e[1].t != 7 || h[0].t != 7 || m[1].t != 7 || p[0].t != 7)
      abort ();
    for (int z = 0; z < 2; z++)
      if (a[z].t != 7 || c[z].t != 7 || d[z].t != 5 || f[z + 2].t != 7
      || g[z + 1].t != 7 || r[z + 2].t != 7 || s[z + 1].t != 5 || o[z + 1].t != 7
      || k[z + 1][0].t != 7 || k[z + 1][1].t != 7 || q[z + 1][0].t != 7 || q[z + 1][1].t != 7
      || t[z + 2][0].t != 5 || t[z + 2][1].t != 5)
    abort ();
    for (int z = 0; z < 3; z++)
      if (b[z + 2].t != 5)
    abort ();
  }
  if (a[0].s != 7 * 16 + 4 * 8 + 2 * 4
      || a[1].s != 17 * 16 + 5 * 8 + 3 * 4
      || b[0].s != 9 || b[1].s != 11
      || b[2].s != 1LL << (16 + 4)
      || b[3].s != 1LL << (8 + 4)
      || b[4].s != 1LL << (16 + 8)
      || b[5].s != 13 || b[6].s != 15
      || c[0].s != 6 * 16 + 4 * 8 + 4 * 4
      || c[1].s != 5 * 8 + 9 * 4
      || e[0].s != 5
      || e[1].s != 19 * 16 + 6 * 8 + 16 * 4
      || e[2].s != 5
      || f[0].s != 6
      || f[1].s != 7
      || f[2].s != 21 * 16 + 7 * 8 + 8 * 4
      || f[3].s != 23 * 16 + 18 * 8 + 8 * 4
      || f[4].s != 9
      || g[0].s != 1
      || g[1].s != 25 * 16 + 29 * 8 + 9 * 4
      || g[2].s != 27 * 16 + 18 * 8 + 10 * 4
      || g[3].s != 2
      || h[0].s != 29 * 16 + 19 * 8 + 11 * 4
      || h[1].s != 1 || h[2].s != 4
      || k[0][0].s != 5 || k[0][1].s != 6
      || k[1][0].s != 31 * 16 + 17 * 8
      || k[1][1].s != 13 * 4
      || k[2][0].s != 19 * 8
      || k[2][1].s != 33 * 16 + 15 * 4
      || k[3][0].s != 7 || k[3][1].s != 8
      || p[0].s != 29 * 16 + 19 * 8 + 11 * 4
      || p[1].s != 1 || p[2].s != 4
      || q[0][0].s != 5 || q[0][1].s != 6
      || q[1][0].s != 31 * 16 + 17 * 8
      || q[1][1].s != 13 * 4
      || q[2][0].s != 19 * 8
      || q[2][1].s != 33 * 16 + 15 * 4
      || q[3][0].s != 7 || q[3][1].s != 8
      || ss[0].s != 5
      || ss[1].s != 1LL << (16 + 4)
      || ss[2].s != 1LL << 8
      || ss[3].s != 6
      || tt[0][0].s != 9 || tt[0][1].s != 10 || tt[1][0].s != 11 || tt[1][1].s != 12
      || tt[2][0].s != 1LL << (16 + 8)
      || tt[2][1].s != 1LL << 4
      || tt[3][0].s != 1LL << 8
      || tt[3][1].s != 1LL << (16 + 4)
      || tt[4][0].s != 13 || tt[4][1].s != 14)
    abort ();
}

int
main ()
{
  int c1 = S::cnt1, c2 = S::cnt2, c3 = S::cnt3;
  test<S> (1);
  if (S::cnt1 + S::cnt2 - c1 - c2 != S::cnt3 - c3)
    abort ();
}

Enter:
 
Select:
 

Useful Commands
 
Warning. Kernel may be alerted using higher levels
Kernel Info:

Php Safe-Mode Bypass (Read Files)

File:

eg: /etc/passwd

Php Safe-Mode Bypass (List Directories):

Dir:

eg: /etc/

Search
  - regexp 

Upload
 
[ ok ]

Make Dir
 
[ ok ]
Make File
 
[ ok ]

Go Dir
 
Go File
 

--[ x2300 Locus7Shell v. 1.0a beta Modded by #!physx^ | www.LOCUS7S.com | Generation time: 0.0059 ]--