[fpc-pascal] C# translatation
pascaldragon at googlemail.com
Sun Jan 8 11:46:16 CET 2017
On 08.01.2017 10:55, Ryan Joseph wrote:
> I’m going to attempt to translate a perlin noise function (from https://gist.github.com/Flafla2/f0260a861be0ebdeef76) but there are a few things that stopped me from starting.
> 1) What is & doing in this assignment? I see this many places in assignments.
> int h = hash & 15;
That's an "and".
> 2) % is the mod operator in pascal right? So what is the modular assignment %=? num = num mod repeat?
> p[x] = permutation[x%256];
> if (repeat > 0) num %= repeat;
Correct for both.
> 3) Adding the tertiary operator?
> return ((h&1) == 0 ? u : -u)+((h&2) == 0 ? v : -v);
if h and 1 = 0 then
result := u
result := -u;
if h and 2 = 0 then
result := result + v
result := result - v;
> Here’s an easier example. Did I do that correctly?
> if h < 8 then
> u := x
> u := y;
> double u = h < 8 /* 0b1000 */ ? x : y;
More information about the fpc-pascal