32 lines
665 B
C#
32 lines
665 B
C#
namespace skyscraper8.Skyscraper.Math;
|
|
|
|
public static class PlsCodeConverter
|
|
{
|
|
public static int RootToGold(int root)
|
|
{
|
|
var g = 0;
|
|
var X = 1;
|
|
for( g = 0; g < 262144; g += 1)
|
|
{
|
|
if( X == root )
|
|
break;
|
|
X = ((( X ^ (X >> 7)) & 1) << 17) | (X >> 1);
|
|
}
|
|
|
|
return g;
|
|
}
|
|
|
|
public static int GoldToRoot(int gold)
|
|
{
|
|
var g = 0;
|
|
var X = 1;
|
|
for( g = 0; g < 262143; g += 1)
|
|
{
|
|
if( g == gold )
|
|
break;
|
|
X = ((( X ^ (X >> 7)) & 1) << 17) | (X >> 1);
|
|
}
|
|
|
|
return X;
|
|
}
|
|
} |