reversible hash c plus plus

#include
#include
#include

int main()
{

char i;
char j;

int mapzero(int xxx[10]){

char q;

int lrot(int c,char i)
{
return (c >> i) | (c << 32-i); } int rrot(int c,char i) { return (c << i) | (c >> 32-i);
}

for (q=0;q<10;q++){ xxx[q]=0; } xxx[0]=1; for (j=0;j<10;j++){ xxx[0]=lrot(xxx[0],1); xxx[1]=lrot(xxx[1],2); xxx[2]=lrot(xxx[2],4); xxx[3]=lrot(xxx[3],8); xxx[4]=lrot(xxx[4],16); for (i=0;i<=8;i++){ xxx[i]^=xxx[i+1]; } xxx[9]^=xxx[0]; for (i=7;i>=0;i–){
xxx[i]^=xxx[i+1]|xxx[i+2];
}

}

}

//bool vlist[324];

//for (ii=0;ii)

int sigma(int array[324]){
int it;
for (it=0;it<162;it++){ array[it]^=array[it+162]; } } int tau(int array[324]){ int it; for (it=0;it<81;it++){ array[it]^=array[it+81]; } } int mu(int array[324]){ int it; for (it=0;it<256;it++){ array[it]^=array[256+(it%68)]; } } unsigned int x=10; bool u[18][18]; for (i=0;i<18;i++){ for (j=0;j<18;j++){ u[i][j]=false; } } u[0][0]=true; bool a; int l; for (l=0;l<64;l++){ for (i=0;i<=8;i++){ for (j=0;j<=8;j++){ if (u[2*i+1][2*j+1]){ a=u[2*i+1][2*j]; u[2*i+1][2*j]=u[2*i][2*j+1]; u[2*i][2*j+1]=a; } u[2*i+1][2*j]^=u[2*i+1][2*j+1];u[2*i][2*j]^=u[2*i+1][2*j]; u[2*i][2*j+1]^=u[2*i][2*j];u[2*i+1][2*j+1]^=u[2*i][2*j+1]; }} for (i=0;i<8;i++){ for (j=0;j<8;j++){ if (u[1+2*i+1][1+2*j+1]){ a=u[1+2*i+1][1+2*j]; u[1+2*i+1][1+2*j]=u[1+2*i][1+2*j+1]; u[1+2*i][1+2*j+1]=a; } u[1+2*i+1][1+2*j]^=u[1+2*i+1][1+2*j+1];u[1+2*i][1+2*j]^=u[1+2*i+1][1+2*j]; u[1+2*i][1+2*j+1]^=u[1+2*i][1+2*j];u[1+2*i+1][1+2*j+1]^=u[1+2*i][1+2*j+1]; }} } bool vv[324]; int ii; for (ii=0;ii<324;ii++){ vv[ii]=false; } bool uu[324]; for (ii=0;ii<324;ii++){ uu[ii]=false; } bool v[18][18]; for (i=0;i<18;i++){ for (j=0;j<18;j++){ v[i][j]=false; } } v[0][0]=true; char ll; for (ll=0;ll<32;ll++){ a=ll%2; for (i=0;i<9;i++){ for (j=0;j<9;j++){ //I NEED TO MAKE IT EQUAL TO THE PAPER. //v[(a+2*i)%18][(a+2*j+1)%18]^=v[(a+2*i)%18][(a+2*j)%18];v[(a+2*i+1)%18][(a+2*j+1)%18]^=v[(a+2*i)%18][(a+2*j+1)%18]; //v[(a+2*i+1)%18][(a+2*j+1)%18]^=(v[(a+2*i+1)%18][(a+2*j)%18]||v[(a+2*i)%18][(a+2*j+1)%18]); //v[(a+2*i+1)%18][(a+2*j)%18]^=v[(a+2*i+1)%18][(a+2*j+1)%18];v[(a+2*i)%18][(a+2*j)%18]^=v[(a+2*i+1)%18][(a+2*j)%18]; //v[(a+2*i)%18][(a+2*j+1)%18]^=(v[(a+2*i+1)%18][(a+2*j)%18]||v[(a+2*i+1)%18][(a+2*j+1)%18]); } } } int vl; int llist[20000][3]; for (ii=0;ii<20000;ii++){ llist[ii][0]=(ii)%324; llist[ii][1]=(ii+1)%324; llist[ii][2]=(ii+2)%324; /*while (llist[ii][0]==llist[ii][1] || llist[ii][0]==llist[ii][2] || llist[ii][1]==llist[ii][2]){ vl=vl+327; llist[ii][0]=(ii+2+llist[ii][1]+vl*llist[ii][0])%324; vl=vl+227; llist[ii][1]=(ii+1+llist[ii][2]+vl*llist[ii][1])%324; vl=vl+127; llist[ii][2]=(ii+llist[ii][0]+vl*llist[ii][2])%324; } */ } int jj; int kk; bool pp; int partition[128][108][3]; for (ii=0;ii<128;ii++){ for (jj=0;jj<108;jj++){ for (kk=0;kk<3;kk++){ partition[ii][jj][kk]=3*jj+kk; } } } int mapfour(int part[128][108][3],bool array[324]){ for (ii=0;ii<128;ii++){ for (jj=0;jj<108;jj++){ if (array[part[ii][jj][0]]){ pp=array[part[ii][jj][1]]; array[part[ii][jj][1]]=array[part[ii][jj][2]]; array[part[ii][jj][2]]=pp; } array[part[ii][jj][0]]^=array[part[ii][jj][1]]; } } } int mapfive(int list[16384][3],bool array[324]){ for (ii=0;ii<16384;ii++){ array[list[ii][2]]^=array[list[ii][0]]||array[list[ii][1]]; } } bool arr[324]; for (ii=0;ii<324;ii++){ arr[ii]=false; } arr[0]=true; mapfive(llist,arr); for (ii=0;ii<324;ii++){ printf("%u",arr[ii]);} return 0; } // now I need to write an array five. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++ // Example program #include
#include
#include

int cellmap(bool list[512]){
int i,j;
for (i=0;i<128;i++){ for (j=0;j<4;j++){ list[(4*i+j+2)%512]^=list[(4*i+j)%512]||list[(4*i+j+1)%512]; list[(4*i+j+3)%512]^=list[(4*i+j)%512]&&list[(4*i+j+1)%512]; }} } int cellchange(bool list[512],int table[16384][3]){ int i; int a=0; int b=32; int c=0; for (i=0;i<14;i++){ a+=pow(2,i)*list[512-14+i]; } for (i=0;i<32;i++){ b+=pow(-1,i)*list[511-i]; } b=b%3; for (i=0;i<8;i++){ c+=pow(2,i)*(list[512-22+i]); } if ((table[a][b]+c)%324 !=table[a][(b+1)%3] && (table[a][b]+c)%324!=table[a][(b+2)%3]){ table[a][b]=table[a][b]+c; } } int cubeone[ int cubetwo int main() { bool list[512]; int i,j; for (i=0;i<512;i++){ list[i]=((i%2)+(i%3)+(i%5)+(i%7)+(i%11))%2; } cellmap(list); int initialator[16384][3]; int c; initialator[0][0]=0; initialator[0][1]=1; initialator[0][2]=2; for (i=1;i<16384;i++){ for (j=0;j<3;j++){ c=(19*i+110*j)%331; initialator[i][j]=(initialator[(16384+c)%i][(i+j)%3]+c)%324; }} for (i=0;i<200;i++){ std::cout<