Can someone help me translating this pseudo code to pure Lua?
I’m having difficulty in some parts.
Origin: http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
function Noise1(integer x, integer y) n = x + y \* 57 n = (n\<\<13) ^ n; return ( 1.0 - ( (n \* (n \* n \* 15731 + 789221) + 1376312589) & 7fffffff) / 1073741824.0); end function function SmoothNoise\_1(float x, float y) corners = ( Noise(x-1, y-1)+Noise(x+1, y-1)+Noise(x-1, y+1)+Noise(x+1, y+1) ) / 16 sides = ( Noise(x-1, y) +Noise(x+1, y) +Noise(x, y-1) +Noise(x, y+1) ) / 8 center = Noise(x, y) / 4 return corners + sides + center end function function InterpolatedNoise\_1(float x, float y) integer\_X = int(x) fractional\_X = x - integer\_X integer\_Y = int(y) fractional\_Y = y - integer\_Y v1 = SmoothedNoise1(integer\_X, integer\_Y) v2 = SmoothedNoise1(integer\_X + 1, integer\_Y) v3 = SmoothedNoise1(integer\_X, integer\_Y + 1) v4 = SmoothedNoise1(integer\_X + 1, integer\_Y + 1) i1 = Interpolate(v1 , v2 , fractional\_X) i2 = Interpolate(v3 , v4 , fractional\_X) return Interpolate(i1 , i2 , fractional\_Y) end function function PerlinNoise\_2D(float x, float y) total = 0 p = persistence n = Number\_Of\_Octaves - 1 loop i from 0 to n frequency = 2i amplitude = pi total = total + InterpolatedNoisei(x \* frequency, y \* frequency) \* amplitude end of i loop return total end function