Я пытаюсь реализовать базовую функцию шума perlin (я знаю, что есть библиотека, которая делает именно это, я просто хочу попробовать свои), и у меня есть некоторая проблема с целым числом к шуму функция, используемая для генерации детерминированного шума из целых входов.функция integer to noise в Haskell
функция Я пытаюсь реализовать определяется там: http://libnoise.sourceforge.net/noisegen/index.html#continuousnoise
и мой код до сих пор выглядит следующим образом:
noise2d :: (Int32, Int32) -> Double
noise2d (x, y) =
let m = x + y * 57
n = (shiftR m 13)^m
j = (n * (n * n * 15731 + 789221) + 1376312589) .&. 0x7fffffff
in 1.0 - (fromIntegral j/1073741824.0)
код компиляции, но я получаю тот же результат для любого входного сигнала, из-за того, что n оценивается в 0.
Есть ли лучший способ сделать это?
Да, это так! Похоже, мне нужно освежить мой C, спасибо! –