[fpc-pascal] C# translatation
Sven Barth
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
else
result := -u;
if h and 2 = 0 then
result := result + v
else
result := result - v;
> Here’s an easier example. Did I do that correctly?
>
> if h < 8 then
> u := x
> else
> u := y;
>
> double u = h < 8 /* 0b1000 */ ? x : y;
>
Correct.
Regards,
Sven
More information about the fpc-pascal
mailing list