<div dir="ltr">Got it, the error was coming from me thinking of the C "^" operator as exponent, instead of bitwise xoring. <br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 22, 2015 at 3:39 PM, Florian Gillard <span dir="ltr"><<a href="mailto:florian.gillard@gmail.com" target="_blank">florian.gillard@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div>I am trying to implement a basic pelin noise function, but I have some problem with the integer to noise function used to generate deterministic noise from integer inputs.<br><br></div>the function I am trying to implement is defined there:<br><a href="http://libnoise.sourceforge.net/noisegen/index.html#continuousnoise" target="_blank">http://libnoise.sourceforge.net/noisegen/index.html#continuousnoise</a><br></div><br></div>and my code so far look like this: <br><br>noise2d :: (Int32, Int32) -> Double<br>noise2d (x, y) = <br>    let m = x + y * 57<br>        n = (shiftR m 13) ^ m<br>        j = (n * (n * n * 15731 + 789221) + 1376312589) .&. 0x7fffffff<br>    in  1.0 - (fromIntegral j / 1073741824.0)<br><br></div>the code compile but I get the same result for any input, due to the fact that n is evaluated to 0.<br><br></div>Is there a better way to do that?<br></div>
</blockquote></div><br></div>