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/gcc/testsuite/gcc.dg/vect/complex/   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:     complex-operations.c (9.84 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#include <stdio.h>
#include <complex.h>

#ifndef PREF
#define PREF c
#endif

#define FX(N,P) P ## _ ## N
#define MK(N,P) FX(P,N)

#define N 32
#define TYPE double

// ------ FMA

// Complex FMA instructions rotating the result

__attribute__((noinline,noipa))
void MK(fma0, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] += a[i] * b[i];
}

__attribute__((noinline,noipa))
void MK(fma90, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] += a[i] * b[i] * I;
}

__attribute__((noinline,noipa))
void MK(fma180, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] += a[i] * b[i] * I * I;
}

__attribute__((noinline,noipa))
void MK(fma270, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] += a[i] * b[i] * I * I * I;
}

// Complex FMA instructions rotating the second parameter.


__attribute__((noinline,noipa))
void MK(fma0_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] += a[i] * b[i];
}

__attribute__((noinline,noipa))
void MK(fma90_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] += a[i] * (b[i] * I);
}

__attribute__((noinline,noipa))
void MK(fma180_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] += a[i] * (b[i] * I * I);
}

__attribute__((noinline,noipa))
void MK(fma270_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] += a[i] * (b[i] * I * I * I);
}

// Complex FMA instructions with conjucated values.


__attribute__((noinline,noipa))
void MK(fma_conj_first, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] += conj (a[i]) * b[i];
}

__attribute__((noinline,noipa))
void MK(fma_conj_second, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] += a[i] * conj (b[i]);
}

__attribute__((noinline,noipa))
void MK(fma_conj_both, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] += conj (a[i]) * conj (b[i]);
}

// ----- FMS

// Complex FMS instructions rotating the result

__attribute__((noinline,noipa))
void MK(fms0, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] -= a[i] * b[i];
}

__attribute__((noinline,noipa))
void MK(fms90, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] -= a[i] * b[i] * I;
}

__attribute__((noinline,noipa))
void MK(fms180, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] -= a[i] * b[i] * I * I;
}

__attribute__((noinline,noipa))
void MK(fms270, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] -= a[i] * b[i] * I * I * I;
}

// Complex FMS instructions rotating the second parameter.

__attribute__((noinline,noipa))
void MK(fms0_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] -= a[i] * b[i];
}

__attribute__((noinline,noipa))
void MK(fms90_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] -= a[i] * (b[i] * I);
}

__attribute__((noinline,noipa))
void MK(fms180_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] -= a[i] * (b[i] * I * I);
}

__attribute__((noinline,noipa))
void MK(fms270_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] -= a[i] * (b[i] * I * I * I);
}

// Complex FMS instructions with conjucated values.

__attribute__((noinline,noipa))
void MK(fms_conj_first, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] -= conj (a[i]) * b[i];
}

__attribute__((noinline,noipa))
void MK(fms_conj_second, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] -= a[i] * conj (b[i]);
}

__attribute__((noinline,noipa))
void MK(fms_conj_both, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] -= conj (a[i]) * conj (b[i]);
}


// ----- MUL

// Complex MUL instructions rotating the result

__attribute__((noinline,noipa))
void MK(mul0, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = a[i] * b[i];
}

__attribute__((noinline,noipa))
void MK(mul90, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = a[i] * b[i] * I;
}

__attribute__((noinline,noipa))
void MK(mul180, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = a[i] * b[i] * I * I;
}

__attribute__((noinline,noipa))
void MK(mul270, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = a[i] * b[i] * I * I * I;
}

// Complex MUL instructions rotating the second parameter.

__attribute__((noinline,noipa))
void MK(mul0_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = a[i] * b[i];
}

__attribute__((noinline,noipa))
void MK(mul90_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = a[i] * (b[i] * I);
}

__attribute__((noinline,noipa))
void MK(mul180_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = a[i] * (b[i] * I * I);
}

__attribute__((noinline,noipa))
void MK(mul270_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = a[i] * (b[i] * I * I * I);
}

// Complex FMS instructions with conjucated values.

__attribute__((noinline,noipa))
void MK(mul_conj_first, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = conj (a[i]) * b[i];
}

__attribute__((noinline,noipa))
void MK(mul_conj_second, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = a[i] * conj (b[i]);
}

__attribute__((noinline,noipa))
void MK(mul_conj_both, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = conj (a[i]) * conj (b[i]);
}


// ----- ADD

// Complex ADD instructions rotating the result

__attribute__((noinline,noipa))
void MK(add0, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = a[i] + b[i];
}

__attribute__((noinline,noipa))
void MK(add90, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = (a[i] + b[i]) * I;
}

__attribute__((noinline,noipa))
void MK(add180, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = (a[i] + b[i]) * I * I;
}

__attribute__((noinline,noipa))
void MK(add270, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = (a[i] + b[i]) * I * I * I;
}

// Complex ADD instructions rotating the second parameter.

__attribute__((noinline,noipa))
void MK(add0_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = a[i] + b[i];
}

__attribute__((noinline,noipa))
void MK(add90_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = a[i] + (b[i] * I);
}

__attribute__((noinline,noipa))
void MK(add180_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = a[i] + (b[i] * I * I);
}

__attribute__((noinline,noipa))
void MK(add270_snd, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = a[i] + (b[i] * I * I * I);
}

// Complex ADD instructions with conjucated values.

__attribute__((noinline,noipa))
void MK(add_conj_first, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = conj (a[i]) + b[i];
}

__attribute__((noinline,noipa))
void MK(add_conj_second, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = a[i] + conj (b[i]);
}

__attribute__((noinline,noipa))
void MK(add_conj_both, PREF) (TYPE complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
{
  for (int i=0; i < N; i++)
      c[i] = conj (a[i]) + conj (b[i]);
}



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.0116 ]--